IIS - 401.3 - Несанкционированный
Я пытаюсь начать работу с IIS. Я создал новый сайт в диспетчере IIS, сопоставил его с папкой в моей файловой системе и добавил index.html в папку. Я установил порт на 85 для этого сайта. Когда я пытаюсь получить доступ к http://localhost:85/index.html
, я получаю следующее сообщение об ошибке:
401.3 - unathorized - У вас нет разрешения на просмотр этого каталога или страницы из-за списка контроля доступа (ACL) конфигурации или шифрования для этого ресурса в Интернете сервер.
Я дал доступ для чтения всем в папке и снова попытался. Затем я мог бы получить доступ к странице.
Затем я сравнил свойства моей папки с именем wwwroot. Я обнаружил, что wwwroot имел доступ на чтение в IIS_IUSRS... Когда я сделал то же самое в своей папке и снова попытался, я снова получил вышеуказанную ошибку.
Я проверил, что анонимный доступ включен по умолчанию, но я все еще получаю эту ошибку.
Почему это происходит? Каков правильный способ решения проблемы?
Ответы
Ответ 1
Я пробовал эту проблему в течение нескольких дней. Его можно решить, изменив свойства доступа пользователя к безопасности в папке файловой системы, на которой отображается ваш сайт. Но IIS_IUSRS - это не единственная учетная запись, которую вы должны разрешить.
- В консоли управления IIS в разделе "Аутентификация" конфигурации вашего сайта измените строку "Анонимная аутентификация" и проверьте учетную запись "Особый пользователь" (mint - IUSR).
- Предоставьте разрешение на чтение и выполнение в папке вашего сайта на эту учетную запись.
ИЛИ
- В консоли управления IIS в разделе "Аутентификация" конфигурации вашего сайта измените строку "Анонимная аутентификация", выбрав "Идентификатор пула приложений" вместо "Конкретный пользователь".
Ответ 2
Вот что сработало для меня.
- Установить идентификатор пула приложений на учетную запись, которая может быть назначена
разрешений для папки.
- Убедитесь, что исходный каталог и все связанные файлы были предоставлены
читать права на файлы для учетной записи, назначенной свойству идентификации пула приложений
- В IIS на корневом сервере node установите анонимный пользователь для наследования с
идентификатор пула приложений. (Это была та часть, с которой я боролся)
Чтобы установить анонимный сервер для наследования из идентификатора пула приложений, выполните следующие действия.
- Откройте диспетчер IIS (inetmgr)
- В левой панели выберите корень node (имя хоста сервера)
- В средней панели откройте апплет "Аутентификация"
- Выделить "Анонимная аутентификация"
- В правой панели выберите "Редактировать..." (откроется диалоговое окно)
- выберите 'Идентификатор пула приложений'
Ответ 3
Поскольку вы имеете дело со статическим контентом...
В папке, которая действует как корень вашего сайта, если вы щелкните правой кнопкой мыши > свойствa > безопасность, появляется ли "Пользователи" в списке? если не нажать "Добавить..." и введите его, обязательно нажмите "Применить", когда вы закончите.
Ответ 4
TL; DR;
В большинстве случаев достаточно предоставить доступ к следующим аккаунтам (одному | обоим):
- IIS AppPool\DefaultAppPool
- IUSR
с правами доступа:
- Читать и выполнить
- Список содержимого папки
- Читать
Это!
Читайте дальше для более подробного объяснения...
- Откройте IIS и выберите свое приложение.
- На правой стороне нажмите на Аутентификацию.
- Выберите " Анонимная аутентификация " здесь.
- Появится следующий диалог.
![enter image description here]()
Предоставьте доступ к папке ACL веб-приложения в зависимости от того, что выбрано на картинке выше:
- Конкретный пользователь: предоставить доступ для обоих
IUSR
(в моем случае) + IIS AppPool\DefaultAppPool
- Идентификатор пула приложений: предоставить доступ только для
IIS AppPool\DefaultAppPool
IIS AppPool\DefaultAppPool
- это IIS AppPool\DefaultAppPool
запись IIS AppPool\DefaultAppPool
по умолчанию для новых веб-приложений IIS. Если вы настроили настраиваемую учетную запись, используйте настраиваемую.
Дайте следующие разрешения для учетной записи (ы):
-
Read & Execute
-
List folder contents
-
Read
![enter image description here]()
Это.
Ответ 5
Попробуйте это решение:
https://serverfault.com/questions/38222/iis-7-5-windows-7-http-error-401-3-unauthorized
Также проверьте, имеет ли пользователь, запускающий IIS AppPool, доступ для чтения к этой папке/файлу.
Посмотрите на это:
http://www.iis.net/learn/manage/configuring-security/application-pool-identities
Также посмотрите на это:
http://www.iis.net/learn/get-started/planning-for-security/understanding-built-in-user-and-group-accounts-in-iis
Ответ 6
На всякий случай, если кто-нибудь еще столкнется с этим. Я устранял неполадки всех этих шагов, и получается, потому что я разархивировал некоторые файлы с MAC, Microsoft автоматически без какого-либо уведомления Зашифровал файлы. После нескольких часов попыток установить разрешения для папок я вошел и увидел, что имена файлов были зелеными, что означает, что файлы были зашифрованы, и IIS выдаст ту же ошибку, даже если права доступа к папке правильные.