Доступ к файлу случайным образом повреждает возврат 500.19 erros на IIS

У нас есть два веб-сервера рабочий IIS 8.5 на Windows Server 2012 R2. Эти два сервера расположены позади подсистемы балансировки нагрузки.

Веб-серверы запускают приложение MVC ASP.NET, которое, среди других функций, позволяет пользователям получать доступ к файлам PDF. Те файлы PDF расположены на третьем сервере, файловом сервере, и сделаны доступный для обоих веб-серверов через виртуальные каталоги. В каждом виртуальном каталоге у нас есть несколько подкаталогов.

Мы в настоящее время испытываем крупные проблемы, получающие доступ к файлам PDF. Доступ продолжает работать в течение многих дней и дней и затем, внезапно, что-то повреждается, и мы получаем 500,19 ошибки каждый раз, когда кто-то пытается получить доступ к файлу PDF.
Это обычно происходит всего на одном веб-сервере за один раз и полностью случайным образом. Каждый раз, когда проблемы происходят единственная вещь, которая помогает, должен переработать пул приложений. До тех пор файлы PDF не доступны.

Другой интересный факт - то, что, каждый раз, когда доступ повреждается, он только повреждается для определенных подкаталогов, в то время как другие все еще работают. Однако это - не всегда тот же подкаталог, который прекращает работать, полностью случайный здесь также.

Я взглянул на журнал, и это - то, что я получаю:

05.03.2014 8:03:44 W3SVC2 [SERVER_NAME] [SERVER_IP] ДОБИРАЕТСЯ [PATH_TO_PDF] - 80 - [LOADBALANCER_IP] [USER_AGENT] [COOKIE] - 500 19 6 0 [ORIGINAL_CLIENT_IP]

Я также пытался активировать неудавшуюся трассировку запроса, но это действительно не предоставляет больше информации, чем журнал IIS.

Есть ли любой способ узнать, почему доступ к файлам PDF (которые действительно физически существуют, btw. - доступ от второго веб-сервера, когда первые сбои все еще возможно) случайным образом повреждается?

2
задан 5 March 2014 в 11:16
1 ответ

Ответ был найден благодаря Сэму Гулду, который связался со мной напрямую по электронной почте.

  1. Щелкните Редактор конфигурации на уровне сервера / машины
  2. Выберите в раскрывающемся списке и разверните System.applicationHost
  3. выберите настройку сайтов
  4. Нажмите кнопку… в разделе «Коллекции»
  5. Выберите соответствующий веб-сайт и установите для параметра allowSubDirConfig значение False
  6. Выполните сброс IIS

В качестве альтернативы мы также можем попробовать запустить команда appcmd:
C: \ Windows \ System32 \ inetsrv> appcmd.exe set config -section: system.applicationHost / sites /[name='My_Website'ght.virtualDirectoryDefaults.allowSubDirConfig:"False "/ commit: apphost

0
ответ дан 3 December 2019 в 15:13

Теги

Похожие вопросы