IIS начинает обслуживать 404 (работает некоторое время!)
Это забавно, это только начало происходить. Изменения, которые я недавно сделал:
- Обновленный веб-сайт (незначительное обновление, небольшие изменения кода / исправления ошибок)
- Добавлены правила перезаписи URL на форум 301 для другого домена
В противном случае сайт оставался нетронутым в течение многих недель (возможно, месяцев).
Все переписанные URL, похоже, затронуты. Некоторое время URL работает нормально, а потом мы внезапно начинаем получать:
404 каталог не найден
На этих URL. Я не могу на всю жизнь понять, почему это так и что это вызывает. Просмотрщик событий, похоже, не показывает ничего актуального.
Перезагрузка сервера исправляет это временно, как и перезапуск IIS. Переработка пула приложений иногда работает временно.
сервер
Windows Server 2008 R2
Последние обновления
Целевая структура сайта 4.5.2
IIS 6.1 Build 7601 SP1
IIS app-pool framework 4.0
Одно приложение-пул приложений (не разделяется)
Есть ли у кого-нибудь идеи о том, что может быть причиной этого, или как провести дальнейшее расследование? Это может начать причинять нам боль. Любая помощь высоко ценится.
Больше информации
Получил, чтобы вернуть подробную информацию об ошибке, и возвращает это:
Detailed Error Information
Module IIS Web Core
Notification MapRequestHandler
Handler StaticFile
Error Code 0x80070002
Requested URL https://www.scirra.com:443/tutorials/top
Physical Path C:\inetpub\wwwroot\Scirra\tutorials\top
Logon Method Anonymous
Logon User Anonymous
Очевидно, что запрошенный физический путь не существует.
Вот пример из файла журнала, где 2
по-видимому ERROR_FILE_NOT_FOUND
2018-06-02 17:26:44 108.xx.xx.xx GET /store - 443 - 172.xx.xx.xx Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/66.0.3359.181+Safari/537.36 404 0 2 280
1 ответ
В IIS 6 иногда возникают проблемы с этим, особенно с платформой 4.0. Исправление, которое обычно работает:
Просто добавьте раздел реестра DWORD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\4.0.30319.0\EnableExtensionlessUrls" со значением "0", а затем перезапустите IIS, чтобы устранить проблему.
Причина в том, что раунд обновлений Windows, кажется, сдул этот раздел реестра.
Бесстыдно соскоблил с: