Назад | Перейти на главную страницу

IIS 7.5 401.3 Доступ запрещен

У меня странная проблема с IIS 7.5 в Windows 2008 R2 x64. Я создал сайт в IIS и создано вручную тестовый файл index.html и все заработало. Когда я пытаюсь выполнить развертывание, я копирую все файлы со своего локального ПК на сервер IIS, пытаюсь получить доступ к index.html (это правильный развернутый файл) и получаю 401.3 доступ запрещен ошибка. Затем я пытаюсь вручную воссоздать index.html и копировать содержимое в этот только что созданный файл, и страница снова становится доступной ... Я просто не могу этого понять. Итак, проблема в том, что IIS 7.5 не может загружать файлы, скопированные с других компьютеров. Я попытался сбросить / применить настройки разрешений к скопированным папкам / файлам, но ничего не помогло. Пожалуйста помоги. Спасибо! Между прочим, файлы, которые я скопировал, представляют собой всего лишь некоторые фрагменты HTML, то есть общие файлы HTML, CSS и изображений, ничего особенного.

Для меня это похоже на проблему с правами доступа к файлам. Убедитесь, что вы действительно копируете файлы в папку wwwroot, а не перемещаете их из другой папки. Когда вы копируете файлы, они автоматически наследуют разрешения от родительской папки, но если вы переместите файлы, они сохранят свои исходные разрешения. Я бы рекомендовал сначала скопировать файлы в папку на компьютере, а затем скопировать их оттуда в папку wwwroot.

Еще одна вещь, которую можно попробовать, - это заархивировать файлы перед копированием на компьютер, а затем извлечь их на локальный диск перед копированием в папку wwwroot.

Я просто боролся с той же проблемой. Я развертывал файлы на сервере IIS 7.5 с другого компьютера и получал ошибку 401 отказано в доступе. Я попытался добавить учетную запись Application Domain Identity (подробнее об этом здесь: http://stevesmithblog.com/blog/working-with-application-pool-identities/), учетной записи NETWORK SERVICE и т. д., и ни один из них не работал.

Что действительно помогло мне, так это добавление учетной записи IUSR в папку веб-сайта (рекурсивно) с разрешениями по умолчанию (чтение и выполнение, список содержимого папки, чтение).

IIS 7.5 должен был выдать вам подробную ошибку о том, где у вас ЗАПРЕЩЕН ДОСТУП. Если это не помогает, используйте Монитор процесса и воспроизведите ошибку еще раз и найдите любой ЗАПРЕЩЕННЫЙ ДОСТУП.

Проблема заключается не в авторизации / аутентификации, а в модулях, которые теперь управляют IIS. Внутри system.webServer у вас должен быть runAllManagedModulesForAllRequests установлен в ложный так что вы можете отображать все изображения / CSS без проблем с аутентификацией.

На веб-сайтах ASP.NET значение runAllManagedModulesForAllRequests ранее для поддержки маршрутизации требовалось установить значение true. Однако однажды IIS 7 был обновлен с помощью пакета обновления, значение runAllManagedModulesForAllRequests можно установить на ложный или опускается при работе с маршрутизацией ASP.NET.

Ref. http://www.iis.net/configreference/system.webserver/modules

P.S. Не забудьте добавить следующие строки в раздел AppSettings моего файла web.config:

<add key="autoFormsAuthentication" value="false"/>
<add key="enableSimpleMembership" value="false"/>

Смотрите мой ответ здесь. Эта ИМО является ломка изменение в Windows Server 2008 R2.