Как разрешить .com в URL-пути, используя IIS6 на Win2003 R2 x64? - PullRequest
1 голос
/ 16 сентября 2009

Похоже, что IIS6 на Win2003 R2 Enterprise x64 SP2 не позволит вам использовать .com в URL-пути.

например, если я создаю папку foo.com в моем веб-корне, содержащую default.htm, этот URL приведет к 404:

http://localhost/foo.com/default.htm

однако, следуя точно таким же шагам на Win2003 R2 Standard x86 SP2, и IIS6 будет отлично обслуживать файл.

Ни на одном из серверов не установлен urlscan.

Есть ли способ указать IIS6 на Win2003 x64, чтобы разрешить .com в пути URL?

Ответы [ 2 ]

1 голос
/ 16 сентября 2009

нормально проблема решена. этот пост, хотя и не давал прямого ответа, дал мне достаточно подсказки:

Блог Дэвида Вана

По сути, на моем сайте IIS x64 настроены разрешения на выполнение "Сценарии и исполняемые файлы" тогда как мой сайт X86 IIS был настроен "Только сценарии"

Так что, похоже, что .com только появлялся в пути моего URL, IIS рассматривал его как исполняемый файл, для которого у него нет сопоставления приложения, поэтому HTTP 404

1 голос
/ 16 сентября 2009

Похоже, это может быть связано с проблемой, которую вы видите:

http://support.microsoft.com/default.aspx?scid=kb;EN-US;826437

Edit:

И совсем недавно

http://support.microsoft.com/kb/932552

Может ли "VerificationCompatibility" быть ответом здесь? На Win x64 он находится в реестре здесь:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\ASP.NET\VerificationCompatibility = 1

Прочтите об "увеличении поверхностей атаки" перед изменением этого параметра.

То, что мы обнаружили в IIS7 с Win2008 x64, похоже, что IIS подавляет многих «необычных» персонажей. Вот персонажи, к которым мы относимся специально:

\r \n \t . ? & : * + "

Даже при правильном кодировании мы получаем 400 обратно с сервера, если они происходят до строки запроса.

...