Как я позволяю запаздывать точка в заголовках хоста в IIS

Я выполняю сайт IIS 7.5, который подает содержание для http://www.foo.com/

Меня попросили правильно направить http://www.foo.com./ (отметьте запаздывающую точку). При ударе той страницы теперь Вы получите ошибку IIS:

Плохой запрос - недопустимое имя хоста

Ошибка HTTP 400. Имя хоста запроса недопустимо.

Это происходит даже для http://www.microsoft.com. Я видел, что некоторый маршрут сайтов запаздывает периоды успешно (как http://www.amazon.com./), но похоже, что большинство из тех использовало Apache, не IIS.

Я добавил заголовок хоста в IIS для www.foo.com. который позволяется. Однако это не позволит Вам создать сайт. Это не запустится и открывается высказывание окна сообщения:

Значение не находится в пределах ожидаемого диапазона.

Кто-либо знает, как подать домены с запаздывающими точками в IIS?

8
задан Aaron D 10 August 2010 в 17:30
поделиться

2 ответа

Конечная точка является абсолютно законной частью имени хоста - это просто это обычно невидимо, потому что это неявно в DNS. Если присутствует конечная точка, это называется «Полное доменное имя» (FQDN).

Обратите внимание, что в проводном DNS всегда работает с полными доменными именами.

§3.2.2 RFC 3976 (определение синтаксиса URI) говорит следующее (выделено мной):

Хост, идентифицированный зарегистрированным именем, представляет собой последовательность символов обычно предназначен для поиска в пределах локально определенного хоста или службы реестр имен, хотя для специфической для схемы семантики URI может потребоваться чтобы вместо этого использовался конкретный реестр (или таблица с фиксированными именами). В наиболее распространенным механизмом реестра имен является система доменных имен (DNS).Зарегистрированное имя, предназначенное для поиска в DNS, использует синтаксис определено в Разделе 3.5 [RFC1034] и Разделе 2.1 [RFC1123]. Такой имя состоит из последовательности меток домена, разделенных ".", каждый метка домена, начинающаяся и заканчивающаяся буквенно-цифровым символом и возможно также содержащие символы «-». Крайний правый ярлык домена полного доменного имени в DNS может сопровождаться одним "." и должно быть, если необходимо различать полное доменное имя и некоторый локальный домен.

Отправьте отчет об ошибке в MS.

5
ответ дан 5 December 2019 в 23:13
поделиться

Я уверен, что где-то есть ошибка, но вопрос в том, что это за ошибка.

Я думаю, что ошибка в том, что IIS позволяет вам устанавливать заголовок хоста с завершающим ".". Заголовок хоста - это не то же самое, что полное доменное имя. Заголовок хоста должен соответствовать директиве Host в HTTP-запросе:

GET / HTTP/1.0
HOST: www.doilooklikeicare.com

Он определенно действителен в URL-адресе, введенном в браузере, например: http://www.doilooklikeicare.com./default.aspx поскольку это решено, чтобы узнать, ГДЕ отправить запрос.

Попробуйте удалить конечную точку в заголовке хоста, и все должно работать нормально. Вы по-прежнему сможете использовать его в URL-адресе.

Надеюсь, это поможет

Джонатан

-1
ответ дан 5 December 2019 в 23:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: