Localhost and request.Url.Authority

2019-06-19 21:08发布

问题:

My application separates users by company identifiers in the URL: company1.app.com, company2.app.com...

I am testing on my local PC with a request such as: company1.localhost.com. However, my request.Url.Authority still shows "localhost.com" instead of "company1.localhost.com". In fact, the prefix of 'company1' does not show anywhere. Is this a bug or a feature?

It's worth noting that I added to the host file an entry for "comapany.Blah -> 127.0.0.1". When looking at Request.Url.Authority it STIL shows localhost...

回答1:

Do not use the Authority, but use the Host

Request.Url.Host

The authority search back on dns, the host get the site from the url. When you search the dns you get the first name of your ip address that you have connected with that name and not all names.



回答2:

Use your headers on localhost:

Request.Headers.Get("Host")