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

Определенные страницы, возвращающие ошибку 401 с IIS7, когда похожие в основном работают

Мы только что развернули проект asp.net на нашем тестовом сервере, который отлично работал на нашем сервере разработки. Однако после того, как он был развернут на нашем тестовом сервере, две страницы (из 10+) генерируют ошибку 401. Разрешения на страницах, которые возвращают ошибку, такие же, как и у работающих страниц.

Обновить: Хотя две страницы постоянно возвращают 401, теперь это время от времени происходит на других страницах в течение коротких периодов времени.

В чем могут быть возможные причины этого?

Нам удалось воспроизвести проблему (в качестве некоторой предыстории, приложение представляет собой REST-подобный API). Мы обнаружили, что если первый запрос к странице был вызовом PUT, страница вернула бы ошибку 401 и продолжала бы возвращать эту ошибку. Однако, если первый вызов страницы был вызовом GET, страница загрузилась бы нормально, и последующие вызовы (либо GET, либо PUT) будут успешными примерно в течение часа, после чего проблема возникнет снова.

Мы считаем, что это было вызвано тем, что конфигурация приложения имела приоритет над конфигурацией IIS7. Если IIS7 был настроен для анонимной аутентификации, приложение не было. Как только мы настроили приложение на прием анонимной аутентификации, проблема исчезла.

Я бы посоветовал включить регистрацию статуса, подстатуса и win32status в ваших журналах IIS и опубликовать здесь строку, которая показывает ошибку 401 из журнала.