статический HTML-сайт на Azure;Ошибка 500,19;раздел конфигурации 'customerrors' не может быть прочитан, прочитан ... отсутствует объявление раздела - PullRequest
0 голосов
/ 18 сентября 2018

Я унаследовал случайные обязанности по обновлению сайта моего агентства.Этот веб-сайт представляет собой базовый статический HTML-сайт, работающий в Azure.Обновляется только с новыми документами PDF.Несколько недель назад я получил уведомление от некоторых сотрудников службы безопасности, желающих, чтобы на сайте НЕ отображался желтый экран смерти, а вместо этого отображалась только общая страница статуса 500.Желтый экран смерти говорит о том, что файл web.config может быть изменен для этого.ОК, хорошо для меня.

После просмотра кажется, что у меня нет файла web.config, поэтому я создал его, но когда я копирую его через FTP в свою учетную запись Azure, он сразу же убивает веб-сайт.Просматривая журналы ошибок в Azure, я вижу, что существует «ошибка 500.19; невозможно прочитать раздел конфигурации« customerrors », прочитать раздел без объявления».

Вот мой файл web.config:

<?xml version="1.0"?>
<configuration>
<system.web>
<customerrors mode="off" />
</system.web>
</configuration>

Есть идеи о том, что происходит?Спасибо!

1 Ответ

0 голосов
/ 19 сентября 2018

Для обработки 500 ошибок, также называемых Yellow Screens of Death, в web.config добавлено следующее, снова показанное как преобразование конфигурации.

<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <system.web>
    <customErrors mode="RemoteOnly" defaultRedirect="500.aspx" redirectMode="ResponseRewrite" xdt:Transform="SetAttributes">
      <error statusCode="500" redirect="500.aspx" xdt:Transform="Insert" />
    </customErrors>
  </system.web>
</configuration>

Страница 500.aspx, добавленная в корень сайтасодержит следующую разметку вверху файла:

<% 
    Response.StatusCode = 500;
    Response.TrySkipIisCustomErrors = true;
 %>

Примечание : это не идеально для многосайтовой среды, где страница 500 должна быть специфичной для сайта.Чтобы учесть это, добавьте логику на страницу 500.aspx для надлежащей передачи запросов с учетом запрошенного имени хоста.

Для получения дополнительной информации см. Эту статью .

...