#iis #iis-10 #static-content
#iis #iis-10 #статическое содержимое
Вопрос:
Я действительно надеюсь, что кто-нибудь сможет помочь применить здравый смысл к этой проблеме IIS, которая сводит меня с ума. Кажется, я сталкиваюсь с той же проблемой, что и бедная душа в этой теме: https://forums.iis.net/t/1240175.aspx .
ПРИМЕЧАНИЕ: я опубликовал это ранее сегодня на Superuser — я понял, что существует большая база вопросов, помеченных IIS, поэтому подумал, что я также опубликую здесь.
ОС: Windows 10 Pro 64-разрядная версия 2004 19041.508
Проблема: в принципе, IIS не будет обслуживать статическое содержимое определенного произвольного размера — статические файлы такого размера в конечном итоге просто отключаются. Нестатическое содержимое, например файлы asp, не имеет этого ограничения и загружается должным образом, независимо от размера. Это начало происходить, казалось бы, из ниоткуда, без каких-либо изменений, связанных с IIS / system / network / permission.
Вещи, которые я пробовал:
- Да, статическое содержимое включено!
- То же самое, каждый браузер
- Полностью без вирусов и вредоносных программ
- Отключен блокировщик рекламы / антивирус / брандмауэр / и т. Д.
- Нет прокси (кроме случаев, когда запущен Fiddler)
- Полностью удалены IIS (отключена функция, перемещены inetpub и windows system32 inetsrv) и повторно включена функция, которая их воссоздала)
- Проверил журналы, включил трассировку
- SFC scan clean
- Проверил разрешения, переключил пользователя приложения между IUSR и пользователем домена
Подробные сведения:
Примерно 1 или 1,5 месяца назад мой локальный IIS внезапно перестал работать. Под внезапным я подразумеваю, что в предыдущий день он работал нормально, как всегда, а на следующий он остановился — без каких-либо системных изменений. Под прекращением работы я подразумеваю (в конечном итоге понял), что только статические файлы обслуживались неправильно. К сожалению / к счастью, я заметил проблему, потому что я создал обязательный персональный COVID tracker. Это был html / js, работающий на серверной части .NET API. Страницы перестали загружаться, и я потратил время на размышления о том, что я пропустил в коде (который я также не трогал). В конце концов я понял, что статический контент — изображения, css, js, html, txt и т. Д. — Не загружался должным образом. Я провел несколько тестов и обнаружил, что размер загружаемого контента ограничен, но он несколько произвольный. Например, изображение iisstart.png на веб-сайте IIS по умолчанию не загружается — оно составляет 97 КБ. Я заменил его файлом размером 8 КБ, который нормально загружается. Я мог бы получить около 1500 байт в HTML-файле — 1501 байт отправил бы его с рельсов, но 1500 сработало. То же самое было обнаружено для текстовых файлов, хотя я смог отправить более 1500 байт — не помню, сколько, но нашел точку, где разница в 1 байт вызвала проблему.
Тестовая загрузка веб-сайта IIS по умолчанию:
Журнал IIS бесполезен — он сообщает о неудачной попытке как 200, но говорит, что это заняло 19 секунд. Хотя он возвращает код состояния win32 121:
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time-taken
2020-10-23 13:36:12 127.0.0.1 GET /iisstart.png - 80 - 127.0.0.1 Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:82.0) Gecko/20100101 Firefox/82.0 http://localhost/ 200 0 121 18944
Трассировка в основном не срабатывает, я думаю, потому что 200 в конечном итоге возвращается?
Скрипач выдает мне это для запроса изображения:
[Fiddler] ReadResponse() failed: The server did not return a complete response for this request. Server returned 0 bytes.
Для этого сайта фактический html загружается нормально — всего 696 байт — изображение, на которое он ссылается, отсутствует (97 КБ).
Если кто-нибудь может пролить некоторый свет на это или дать мне указания по устранению неполадок, я был бы очень признателен.
Спасибо
Комментарии:
1. Включено ли сжатие статического содержимого?
2. 1500 байт интересно — потому что это также MTU по умолчанию для Ethernet (хотя размер файла плюс заголовки HTTP будут превышать это …) — как ваша физическая сеть?
3.
win32-status == 121
означает, что произошел тайм-аут (возможно, тайм-аут ввода-вывода с диска или тайм-аут сети или что-то еще). Интересно, есть ли у вас неисправный диск. Проверьте журнал событий вашего оборудования.4. @Dai, я пробовал включать / выключать статическое сжатие, и в остальном моя сеть и диск в порядке. Я подумал то же самое и выполнил сканирование диска, интеллектуальную проверку и т. Д. Никаких других симптомов, кроме этого.
5. В журналах событий ничего