Iis включить отображение ошибок

By default, the IIS server is set to show detailed errors for local requests only, whereas it displays a custom error page for remote requests. This is done for security reasons, since detailed errors could reveal potentially detailed technical information about the web server and website.

Contents

  1. Why are detailed errors important?
  2. Enabling detailed errors using the IIS manager
  3. Enabling detailed errors using the web.config file
  • Author
  • Recent Posts

Surender Kumar has more than twelve years of experience in server and network administration. His fields of interest are Windows servers, Active directory, PowerShell, web servers, networking, Linux, virtualization, and Kubernetes. He loves writing for his blog.

Latest posts by Surender Kumar (see all)

  • Kubernetes DaemonSets — Wed, Sep 6 2023
  • Static Pods in Kubernetes — Fri, Sep 1 2023
  • Encrypt Kubernetes Secrets at rest — Mon, Aug 28 2023

The detailed errors also reveal HTTP substatus codes, which are helpful in debugging complex issues. The bad guys out there could use this information to conduct attacks on a web server or website. That is why the IIS server only shows a custom error page for remote requests by default.

Why are detailed errors important?

As discussed above, detailed errors are important when you want to debug a problem in a website hosted on a server running IIS. The custom error page shows an error message that is usually ambiguous. Let’s have a look at the two screenshots below:

403 Forbidden Access is denied error using custom error page

403 Forbidden Access is denied error using custom error page

The above screenshot shows a typical 403 – Forbidden: Access is denied error using the custom error page displayed by IIS. It is not very helpful for website administrators. Now, let’s have a look at the following screenshot:

403.14 Forbidden error with detailed error mode enabled

403.14 Forbidden error with detailed error mode enabled

This screenshot shows the same error with detailed error mode enabled. Now, it shows plenty of useful information that an administrator can use to identify the cause and fix the problem.

Enabling detailed errors using the IIS manager

To enable detailed errors:

  1. Open the IIS manager by pressing WinKey+R, typing inetmgr, and pressing Enter.
  2. Expand the Sites node and select the website for which you want to enable detailed errors.
  3. Under the IIS section in the Features View, double-click Error Pages (see the following screenshot).

Locating the error pages section in the IIS manager

Locating the error pages section in the IIS manager

  1. In the Actions pane on the right, click Edit Feature Settings.

Enabling detailed errors in IIS manager

Enabling detailed errors in IIS manager

  1. In Error Responses, you will see three options:
    1. Custom error pages
    2. Detailed errors
    3. Detailed errors for local requests and custom error pages for remote requests (default)
  2. Now select either the second or third option and click OK.

Viewing the detailed error modes in IIS

Viewing the detailed error modes in IIS

Since you can directly access the web server using remote desktop, selecting the third option is best. Now, you can open the web browser on the server itself and try to load the problematic webpage to see a detailed error page containing more technical information. By doing this, you’re not enabling the bad guys out there to view the detailed information, since the detailed error is only displayed for local requests.

Enabling detailed errors using the web.config file

There are situations in which you cannot use the IIS manager to enable detailed errors. For example, if your website is hosted on a shared hosting site, you won’t have access to the IIS manager. In such scenarios, you could enable detailed errors using the web.config file, which is usually located in the root directory of the website. Just add the following line inside the <system.webServer> tag:

<httpErrors errorMode="Detailed" />

Enabling detailed errors using web.config file

Enabling detailed errors using web.config file

Remember that by adding this line to the web.config file, you are forcing IIS to throw the detailed errors for local or remote requests.

Subscribe to 4sysops newsletter!

Once you identify the root cause of the problem, it is always recommended to disable detailed errors to prevent your website from revealing sensitive information.

  • Как включить отображение детальных ошибок?
  • FTP-клиент не может изменить атрибуты доступа к файлам (chmod)
  • Почему сервер отдает клиенту ошибку 404 или 401.3 на запрос индексной страницы?
  • Ошибка «This collection already contains an address with scheme http» при обращении к WCF-сервису, размещённом на хостинге
  • Диагностика ошибок подключения через IIS Manager.
  • Диагностика ошибок подключения через SQL Server Management Studio.
  • The system cannot find the path specified
  • Server Create Object Failed
  • Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool
  • Unable to add ‘Web.Config’ to the Web. 550 Web.Config: Access is denied
  • Service Unavailable
  • The database principal owns a schema in the database, and cannot be dropped

Как включить отображение детальных ошибок?

Включить детальное отображение ошибок веб-сервером IIS вы можете добавив в конфигурационный файл web.config следующую структуру элементов (изменения затронут секции system.web и system.webServer):

<configuration>
    <system.web>
        <customErrors mode="Off" />
    </system.web>
    <system.webServer>
        <httpErrors errorMode="Detailed" />
    </system.webServer>
</configuration>

Скачать пример готового web.config

Также включить отображение детальных ошибок IIS можно
через интерфейс IIS Manager. После подключения к
веб-сайту перейдите в «Error Pages» раздела «IIS», нажмите на «Edit Feature Settings» в правом меню «Actions» и
отметьте «Detailed Errors». Сделанные изменения
автоматически запишутся в конфигурационный файл web.config.

"Error Pages" раздела "IIS"

Примечание: Отображение детальных ошибок рекомендуется включать только при отладке сайта, после запуска сайта данный режим рекомендуется отключить.

Дополнительно введён функционал в Личный кабинет. Включить отображение детальных ошибок можно выбрав в Древе услуг нужный домен и изменив в характеристике «параметры домена» отображение детальных ошибок на «Включить через web.config», после изменений необходимые записи будут изменены в web.config со стороны сервера виртуального хостинга в течение 30—45 минут. После завершения настройки веб-сайта отображение детальных ошибок лучше отключить, выбрав «Отключить в web.config»»

FTP-клиент не может изменить атрибуты доступа к файлам (chmod)

В рамках Windows-хостинга права на файлы и каталоги на виртуальных площадках сконфигурированы автоматически и наиболее оптимально. Дополнительно менять права доступа на файлы (в том числе с помощью ftp-клиента) нельзя.

В случае с FTP-сервером на базе Windows, FTP-клиенту будут показаны значения атрибутов как 777, не более чем для
совместимости, а при их изменении FTP-клиент сообщит пользователю ошибку command not understood.

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

Почему сервер отдает клиенту ошибку 404 или 401.3 на запрос индексной страницы?

Возможно, что вы изначально поместили файлы своего web-сайта в корень площадки или скопировали их из другого сайта, размещенного на этой площадке, и далее производили их перемещение (move) в нужный каталог своего web-сайта.

Особенности файловой системы операционной системы Microsoft Windows Server таковы, что при перемещении файлов внутри тома NTFS эти файлы сохраняют имеющиеся разрешения. При копировании же файлов внутри тома NTFS они, напротив, наследуют разрешения той папки, в которую были скопированы.

В результате перемещения (move) файлов из корня площадки в каталог web-сервера права н эти файлы сохранились без изменений, в результате чего анонимный пользователь web-сервера не имел к ним доступа. Результатом этого стало соответствующее сообщение об ошибке. Если скопировать (copy) файлы в требуемые каталоги или загрузить их заново, данная проблема исчезнет, и файлы будут доступны.

Ошибка «This collection already contains an address with scheme http» при обращении к WCF-сервису, размещённом на хостинге

Ответ: Для использования WCF-сервиса (Windows Communication Foundation) в среде виртуального windows-хостинга нужно добавить в файл web.config в секцию <system.serviceModel> следующее:

<serviceHostingEnvironment>
<baseAddressPrefixFilters>
<add prefix="http://имя-вашего-сайта"/>
</baseAddressPrefixFilters>
</serviceHostingEnvironment>

Более подробные сведения про параметры <system.serviceModel>, <serviceHostingEnvironment> и  <baseAddressPrefixFilters> вы можете почерпнуть здесь и здесь.

Диагностика ошибок подключения через SQL Server Management Studio

Диагностика полностью аналогична диагностике для проверки соединения через IIS Manger. Следует выполнить следующие команды:

telnet uXXXXX.mssql.masterhost.ru 1433
tracert uXXXXX.mssql.masterhost.ru
tracetcp uXXXXX.mssql.masterhost.ru:1433

The system cannot find the path specified

Если ошибка возникает при обращении по ссылке http://domain.tld/ возможно несколько вариантов проблемы:

  • На Вашей площадке отсутствует индексная страница в папке www домена. Подробнее здесь.
  • В результате перемещения (move) файлов из корня площадки в каталог WWW, права на эти файлы сохранились без изменений, в результате чего анонимный пользователь web-сервера не имеет к ним доступа. Вам нужно произвести копирование индексной страницы, чтобы Ваша страница стала доступна для анонимных посетителей Вашего домена.

Server Create Object Failed

Эта ошибка возникает при попытке использования любого неподдерживаемого объекта. Чаще всего возникает при использовании устаревшего компонента CDONTS.

Windows Server более не поддерживает работу данного компонента. Вместо него нужно использовать CDOSYS

Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool

Ошибка возникает если приложение не закрывает подключения к базе MSSQL, и, таким образом, когда свободных подключений не остаётся — база данных отдаёт ошибку.

Microsoft рекомендует всегда закрывать подключение к БД сразу после того, как вы использовали это подключение.

Таким образом подключение возвращается в пул подключений, и становится доступным для последующего использования.

Пример соответствующего кода можно найти здесь.

Unable to add ‘Web.Config’ to the Web. 550 Web.Config: Access is denied

Если вы используете файл настроек отличный от Web.Config, тогда фраза будет содержать имя файла настроек.

Проблема с сессиями протокола FTP. Скорее всего, Ваш FTP клиент открыл несколько одновременных сессий, заблокировал файл в одной из них, но сессию не закрыл.

Нужно закрыть данную сессию или дождаться пока она закроется по таймауту (это произойдёт если FTP клиент будет неактивен).

Service Unavailable

Скорее всего, на тарифном плане Win’03 был превышен лимит ресурсов, отведённых по тарифному плану. Данная ошибка появляется когда происходит рециркуляция рабочего процесса в пуле приложений клиента.

Выходов два: или модифицировать скрипты, чтобы они потребляли меньше ресурсов, или переходить на более высокий тарифный план с повышенными лимитами ресурсов.

The database principal owns a schema in the database, and cannot be dropped

Данная ошибка возникает при попытке удаления пользователя в базе (например, база была восстановлена из резервной копии).

Просмотреть, кто какими схемами владеет, можно с помощью запроса:

SELECT s.name AS [schema_name], dp1.name AS [owner_name]
FROM sys.schemas AS s
INNER JOIN sys.database_principals AS dp1 ON dp1.principal_id = s.principal_id

Сменить владельца можно так:

ALTER AUTHORIZATION ON SCHEMA::[Test] TO [dbo]

— владельцем схемы Test становится dbo.

Если у Вас остались вопросы — посетите раздел FAQ.

Search code, repositories, users, issues, pull requests…

Provide feedback

Saved searches

Use saved searches to filter your results more quickly

Sign up

Profile picture for user Олег

Олег

  • 30 марта 2019

IIS 10

Для отображения детальных ошибок в IIS необходимо внести изменения в файл web.config:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
	<system.web>
        <customErrors mode="Off" />
    </system.web>
    <system.webServer>
		<httpErrors errorMode="Detailed" />
    </system.webServer>
</configuration>

Теги

  • web
  • IIS

💰 Поддержать проект

Похожие материалы

Установка IIS в Windows Server 2016

Profile picture for user Олег

Олег

  • 11 марта 2019
  • Подробнее о Установка IIS в Windows Server 2016

Windows Server

Поднимаем IIS на Windows Server 2016. Настроим фичи по своему усмотрению.

Теги

  • Windows
  • IIS
  • web

IIS как обратный прокси-сервер (reverse proxy)

Profile picture for user Олег

Олег

  • 10 марта 2019
  • Подробнее о IIS как обратный прокси-сервер (reverse proxy)

IIS

Понадобилось мне как-то раз настроить на IIS 7 прозрачное проксирование запросов из интернета на другой web-сервер, расположенный во внутренней сети. По сути, нужно было настроить IIS 7 как обратный прокси-сервер (reverse proxy). Потом сделал то же самое на IIS 10.

Теги

  • Windows
  • IIS
  • web

Установка IIS в Windows Server 2012 R2

Profile picture for user Олег

Олег

  • 4 января 2019
  • Подробнее о Установка IIS в Windows Server 2012 R2

Windows Server

Пришла задача поднять IIS на Windows Server 2012 R2 для CRM BPM Online от Terrasoft. Указанные ниже настройки достаточны для работы данной приблуды. Однако, пришлось также забраться в конфиги данной сторонней системы и кое что править руками. Но это уже не относится к установке IIS и опысываться здесь не будет.

Теги

  • Windows
  • web
  • IIS

Популярно

За сегодня:

  • Из чего состоит компьютер?
  • Windows Server 2019 — терминальный сервер без домена
  • Бесплатно обновляем Windows 7 до Windows 10

За все время:

  • Установка принтера Xerox Phaser 3100MFP на Windows 10
  • Из чего состоит компьютер?
  • Windows Server 2019 — терминальный сервер без домена
  • Supermicro: Intel Rapid Storage — настройка RAID для Legacy и UEFI
  • iPerf3 — измерение пропускной способности сети

За последнее время:

  • Zabbix 5.0 — настройка SSL в nginx
  • TCP и UDP порты для работы vCenter Server 6.7
  • HP MSA 2040 (2050) — перезагрузка контроллеров по SSH
  • Nerpa Server 5000 N1 — создаём RAID массивы

Почитать

  • Программирование: введение в профессию. Второе издание. Том 3: парадигмы

  • Программирование: введение в профессию. Второе издание. Том 2: системы и сети

  • Программирование: введение в профессию. Второе издание. Том 1: азы программирования

  • Программирование: введение в профессию. Том 1: азы программирования

  • Designing Distributed Systems

  • Kubernetes Up & Running

  • Mastering Vim Quickly

  • Building Secure & Reliable Systems

  • DNS security

  • tmux 2

  • Building Microservices

  • sed & awk

  • grep — Карманный справочник

  • 97 Things Every Cloud Engineer Should Know

  • SQL Notes for Professionals

  • PostgreSQL Notes for Professionals

  • Oracle Database Notes for Professionals

  • Introducing Microsoft System Center 2012 R2

  • Windows 10 IT Pro Essentials Top 10 Tools

  • Git Notes for Professionals

Enabling Detailed Errors

By default, IIS hides detailed error messages however you can enable it through either of the following ways.

Obviously this should only be enabled in a non-production environment as it may create potential security implications.

IIS Manager Console method

  1. Open the IIS Manager console
  2. Click your website node
  3. Open the ‘Error Pages‘ configuration screen
  4. Click ‘Edit Feature Settings‘ from the right hand menu
  5. Choose the ‘Detailed errors‘ option.
IIS Manager Console Screenshot
IIS Manager Console Screenshot

Web.config file method

<configuration>
 <system.webServer>
   <httpErrors errorMode="Detailed" />
 </system.webServer>
</configuration>

Result

Before enabling detailed error messages

Error message screenshot

After enabling detailed errors

Error screenshot
  • About
  • Latest Posts

Shane Bartholomeusz

G’day, I’m a technical solutions consultant based in Perth, Australia that specialises in the Microsoft technology stack, including .NET, Dynamics 365, Azure and general web development etc.

This blog is my place to share my thoughts, helpful solutions and just random nerdy stuff.

Shane Bartholomeusz

Понравилась статья? Поделить с друзьями:
  • Igfxtray exe ошибка приложения
  • Ilife v55 ошибка е06 что делать
  • Immergas ошибка е38
  • Ieframe dll ошибка internet explorer
  • Import pygame ошибка