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, кажется, сдул этот раздел реестра.

Бесстыдно соскоблил с:

https://blogs.msdn.microsoft.com/tmarq/2010/06/18/how-to-disable-the-asp-net-v4-0-extensionless-url-feature-on-iis-6-0/

Другие вопросы по тегам