Возможно ли, что Request.ServerVariables ["HTTP_HOST"]. ToString () может вернуть хост, отличный от того, что я вижу в строке URL - PullRequest
5 голосов
/ 05 января 2011

Скажем, у меня удаленная страница, доступ к которой осуществляется через http://www.mypage.com/test.aspx.. На этой странице я использую код Request.ServerVariables ["HTTP_HOST"]. ToString (). Возможно ли, что когда я получаю доступ к странице, код может возвращать URL-адрес, отличный от того, который я вижу в строке URL-адреса http://www.mypage.com/test.aspx? Любая помощь будет принята с благодарностью. Спасибо.

Ответы [ 5 ]

3 голосов
/ 05 января 2011

Вы могли видеть любое имя, которое IIS связал с вашим веб-экземпляром. Итак, если ваш сервер называется «server1», а IP-адрес - 123.123.123.123, и все три из них связаны с вашим экземпляром IIS, вы можете увидеть любое из этих значений.

Чтобы посмотреть, какие имена связаны, откройте «Диспетчер информационных служб Интернета (IIS)» (запуск, Инструменты администрирования), разверните дерево, пока не увидите свои сайты. Найдите тот, который вы используете. Щелкните правой кнопкой мыши и выберите «Привязки». Отредактируйте каждую из привязок в списке. Если все они говорят [IP address:] «All Unassigned», то ваш HTTP_HOST может быть 1. WWW-адресом, который вы настроили через DNS, 2. именем машины 3. IP-адресом (ами).

1 голос
/ 13 февраля 2013

Я также столкнулся с проблемой с HttpContext.Current.Request.ServerVariables ["HTTP_HOST"] и выяснил это.Лучший способ получить имя хоста - «HttpContext.Current.Request.Url.Host».Это решило мою проблему.

Спасибо, Радж

1 голос
/ 05 января 2011

попробуйте использовать:

HttpContext.Current.Request.ServerVariables["SERVER_NAME"]

Я надеюсь, что это будет работать.

0 голосов
/ 06 января 2011

Кто-то уже упоминал о локальных перезаписывающих устройствах (isapi_rewrite), но есть и удаленные, например, ISA Server, публикующий ваш сервер. Это конфигурация для отправки оригинальных заголовков хоста (что было введено клиентом) или введенных в настройках публикации.

0 голосов
/ 05 января 2011

Возможно, да.Модуль isapi_rewrite может изменить значение HTTP_HOST, прежде чем ваш собственный код сможет его проверить.

...