Я использую IIS 7 на Windows 2008 Server для приложения ASP.NET 4 с помощью Bootstrap. Сервер имеет частный IP-адрес для использования на работе, но также доступен через общедоступный IP-адрес извне. Наш провайдер доступа в Интернет выполняет переадресацию за нас. На сервере также работает антивирусная система F-Secure.
Когда я просматриваю веб-сайт с самого сервера, используя частный или общедоступный IP-адрес, он работает нормально. Но когда я использую удаленный клиент (очевидно, с использованием общедоступного IP-адреса), он работает случайным образом. Типичный сценарий выглядит так:
И так далее. Очевидно, это случайно. Иногда сервер возвращает страницу, иногда я получаю ошибку INET_E_RESOURCE_NOT_FOUND. Это происходит с каждым клиентом, который я пробовал, от Edge на компьютере с Windows 10 до Safari на iPhone.
В других случаях серверу не удается доставить домашнюю страницу, когда я впервые просматриваю ее с клиентского компьютера. Я повторяю несколько раз, но безрезультатно. И затем, возможно, после 5 или 10 обновлений я получаю страницу. И с этого момента он работает нормально, пока, в конце концов, снова не выйдет из строя.
Насколько я понимаю, INET_E_RESOURCE_NOT_FOUND не означает, что страница не была найдена (это будет 404), но что сервер невозможно найти. Обычно это связано с ошибкой DNS или прокси.
Я смотрел файлы журнала IIS. Насколько я понимаю, иногда запись в журнал прерывается такими записями, как эта:
GET /fonts/glyphicons-halflings-regular.woff - 80 - 193.144.38.100 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/52.0.2743.116+Safari/537.36+Edge/15.15063 404 3 50 78
Судя по всему, клиент пытается получить файл шрифтов, а сервер возвращает ошибку 404. Файл шрифта находится на сервере в нужной папке, поэтому я не уверен, почему он не может его найти.
РЕДАКТИРОВАТЬ. Я исправил проблему с файлом шрифта (которая была связана с отсутствующей записью типа MIME в IIS), но случайные ошибки INET_E_RESOURCE_NOT_FOUND остались. 404 с файлом шрифта, вероятно, будет отвлекающим маневром.
РЕДАКТИРОВАТЬ. У меня есть еще одна проблема с тем же веб-сайтом, которая может быть связана. См. Здесь: https://stackoverflow.com/questions/43814006/smtpexception-in-asp-net-application-with-remote-browser
Любые идеи? Спасибо.
Предполагая, что вы получаете эту ошибку непосредственно в своем браузере, а не ее возвращает прокси-сервер, вы можете проверить, вызвана ли она проблемами DNS, добавив запись в свой файл hosts (%windir%\System32\drivers\etc\hosts
в Windows; вам нужно будет отредактировать его как администратор), чтобы связать общедоступный IP-адрес вашего веб-сайта с его записью DNS). Если вы сделаете это и протестируете общедоступный веб-сайт, но по-прежнему получите те же ошибки, это не проблема DNS, и вы можете начать просматривать конфигурацию прокси-сервера. (Не забудьте удалить запись после тестирования!)
Я подозреваю, что ваши типы пантомимы установлены неправильно. Я бы посоветовал вам добавить его явно как часть конфигурации вашего сервера.
У других была эта проблема раньше: https://stackoverflow.com/questions/4015816/why-is-font-face-throwing-a-404-error-on-woff-files
Вы сказали, что интернет-провайдер выполняет переадресацию за вас, что предполагает, что они проксируют / перенаправляют порт на внутренний IP-адрес и что у вашего сервера только один IP-адрес (вероятно, частный).
Если это правда, то похоже, что их прокси-сервер испытывает проблемы с подключением к вашему серверу IIS (по любому количеству причин), и именно он возвращает ошибку. Я бы попросил поставщика проверить журналы на своем маршрутизаторе / брандмауэре, чтобы узнать, так ли это.
1-я вещь. актуальны ли обновления сервера ?. Проверьте версию .net на сервере и обновите ее.
Убедитесь, что все порты, которые использует приложение, перенаправляются вашему провайдеру.
Также проверьте журналы сервера с помощью этого https://gallery.technet.microsoft.com/scriptcenter/Get-event-logs-errors-and-6871f163
Найдите наиболее частые ошибки и проверьте, связаны ли они с ними.