一键重装系统工具 | U盘启动盘制作工具 | 误删文件恢复软件 | 硬盘数据抢救专家 | 电脑蓝屏修复助手 | C盘空间清理神器 | 电脑驱动离线安装工具 | 微信聊天记录恢复工具 | 照片误格式化恢复 | 电脑密码破解清除工具 | 系统崩溃紧急救援盘 | 电脑加速优化大师 | 电脑开不了机怎么重装系统 | 回收站清空了怎么恢复 | 硬盘分区丢失数据恢复 | 电脑卡顿重装系统有用吗 | U盘插入提示格式化数据恢复 | 电脑中毒文件被隐藏恢复 | 忘记电脑开机密码怎么办 | 新硬盘分区对齐工具 | 旧电脑装Win10流畅工具 | SD卡照片删除恢复免费版 | 移动硬盘打不开提示损坏修复 | 电脑无故重启系统修复工具 | 电脑小白一键重装神器 | 程序员电脑环境配置助手 | 设计师电脑字体/素材恢复工具 | 网吧网管系统维护工具箱 | 财务人员电脑发票备份恢复 | 学生党免费电脑系统安装包 | 电脑维修师傅必备工具盘 | 游戏玩家电脑性能优化助手 | 办公白领误删文档恢复软件 | 自媒体视频素材恢复工具 | 网课录制视频损坏修复工具 | 最好的U盘PE系统排名 | 数据恢复软件哪个最强 | 免费电脑助手与收费版区别 | 国产装机工具哪款无广告 | 离线版驱动助手推荐 | 轻量级电脑优化工具对比 | 支持NVMe驱动的PE工具 | 带网络功能的应急启动盘 | 2026最新版万能装机工具 | 支持Win11 24H2的PE工具 | 最新免激活系统重装工具 | 2026数据恢复软件破解版合集 | 纯净无捆绑装机助手V3.0 | 支持苹果M芯片的电脑助手 | 秋季更新版系统维护工具箱 | 电脑系统崩了怎么用U盘把重要资料拷贝出来 | 重装系统前哪些文件夹必须备份 | 固态硬盘误格式化还能恢复数据吗 | 如何制作一个既带PE又能存数据的双分区U盘 | 电脑总是弹窗广告用什么助手彻底拦截 后台管理
📢 欢迎访问系统之家!所有资源均经过安全检测。

Как использовать подробные ошибки HTTP в IIS 7.0

发布时间:2026-09-21 | 浏览:1
📥 下载地址(文章开头)
软件神器安装一切软件。
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги . Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги . Каждый Web-Site администратор или веб-разработчик видели сообщения "404 - Файл не найден", "401 - несанкционированный" или "500 - ошибка сервера" в браузере. В этой статье показано, как и почему службы IIS создают эти ошибки и как их можно настроить. Многие могут подумать, что создание сообщений об ошибках, кажется, не оправдывает полную статью. Но в ошибках больше, чем кажется на первый взгляд. Сообщения об ошибках — это щепетильная тема, так как каждая ошибка раскрывает о вашем веб-сайте больше, чем вам бы хотелось. Чем больше информации кто-то может собрать о вашем сайте, тем более похоже, что вы будете взломаны. Поиск "взлома Google" или "межсайтового скрипта" показывает богатство информации по этому разделу. Однако сообщения об ошибках также являются ценным средством для устранения неполадок. Разработчикам и администраторам Web-Site требуется максимально подробная информация при возникновении ошибки. В идеале сообщение об ошибке дает рекомендации по устранению проблемы. Вот как IIS решает эти фундаментально противоположные цели. Ошибки, какие ошибки? В этой статье рассматриваются ошибки HTTP, указанные в протоколе RFC HTTP (RFC 2616 — раздел 6.1.1). Ошибка HTTP всегда выражается путем отправки ответа с кодом состояния больше 400 обратно клиенту запроса. Коды состояния от 400 до 500 указывают ошибку, которую клиент сделал, например неправильный синтаксис или запрос к ресурсу, который не существует. Это можно попробовать, запросив фиктивный URL-адрес на выбранном вами веб-сайте, например: http://<IIS7Server>/this_resource_does_not_exist. Вы получаете ошибку "404 — файл не найден". Коды состояния, начиная с 500, являются ошибками, вызванными сервером. Наиболее распространенными причинами ошибок 500 на системах IIS являются: Страница ASP или ASPX, содержащая синтаксическую ошибку Конфигурация веб-сервера или конфигурация приложения не может быть прочитана или недопустима Сайт остановлен Важно отметить, что браузеры, такие как IE, часто заменяют ошибки, возвращаемые с веб-сервера собственными ошибками. Это затрудняет устранение неполадок. В IE эту функцию можно отключить. Перейдите в меню "Сервис", выберите "Параметры браузера", перейдите на вкладку "Дополнительно" и установите флажок "Показать понятные сообщения об ошибках HTTP" и снимите флажок. Чтобы просмотреть необработанный ответ, используйте такие средства HTTP, как WFETCH, в наборе ресурсов IIS 6.0 (см. статью "Связанные ссылки"). Ошибки HTTP в IIS Существует две вещи, которые могут произойти, когда модуль httpError (custerr.dll) обнаруживает ошибку: Создается настраиваемая ошибка Создается подробная ошибка Кастомные ошибки — это страницы ошибок, которые видят обычные пользователи веб-сайта. Они содержат краткое описание ошибки о том, почему произошла ошибка, но ничего другого. Ниже приведена настраиваемая ошибка, возникающая при запросе ресурса, который не существует, например: http://< IIS7Server>/this_resource_does_not_exist Подробные ошибки предназначены для локальных администраторов и разработчиков. Они должны предоставить информацию, которая помогает немедленно устранить проблему. Ниже приведен пример того же запроса, но теперь возвращается подробная ошибка: Это опасно, так как подробные ошибки содержат сведения о внутренней работе веб-сайта. Только доверенный персонал должен увидеть подробную ошибку. Единственный способ это обеспечить — создать подробное описание ошибки только если запрос поступает с локального компьютера. Как только запрос не является локальным, создается пользовательская ошибка. Просмотрите следующую схему потока: Сначала: проверка ошибок Модуль httpError получает уведомление перед отправкой ответа (уведомление RQ_SEND_RESPONSE). Модуль httpError проверяет код состояния этого ответа и немедленно возвращает, если код состояния не превышает 400. Во-вторых: пользовательская ошибка или подробная ошибка Следующая проверка определяется источником запроса (это локальный или удаленный запрос) и параметром свойства errorMode. Свойство errorMode имеет значение DetailedLocalOnly, что означает, что пользовательские ошибки создаются для каждого удаленного запроса. Если для параметра errorMode задано значение "Custom", все ответы на ошибки станут ошибками типа "Custom Error". Если для параметра errorMode задано значение "Подробные", все ответы на ошибки будут становиться "Подробными ошибками". В следующей таблице объясняется следующее поведение: Если модуль httpError определяет, что пользовательская ошибка должна быть создана, он проверяет свою конфигурацию, чтобы узнать, может ли он найти соответствующую ошибку. Если совпадение найдено, он отправляет статический файл, перенаправляет запрос или выполняет указанный URL-адрес. Если совпадение не найдено, IIS отправляет базовое однострочное сообщение, содержащее код состояния. В следующем разделе подробно описана конфигурация пользовательской ошибки. Если custerr.dll определяет, что необходимо создать детализированную ошибку, требуется еще одна проверка. IIS не изменяет ответ, если модуль переопределил сущность ответа своим собственным описанием ошибки. Она может содержать ценные сведения. ASP.NET является хорошим примером. Сущность ответа об ошибке ASP.NET может содержать стек исключений и собственное описание ошибки. Подробная ошибка создается только в том случае, если тело сущности ответа пусто. Конфигурация <httpErrors> Ниже приведен пользовательский раздел ошибок IIS, полученный при чистой установке: Вы увидите, что если код состояния ответа равен 401, iis вернет файл с именем 401.htm. Коды подстатуса Многие ошибки HTTP имеют подстатус. Конфигурация пользовательских ошибок IIS по умолчанию не различает коды состояния на основе подстатусов. Он отправляет ту же страницу пользовательской ошибки, если ввести неправильные учетные данные (401.1), или если доступ запрещен на основе недопустимых прав доступа к файлу (401.3). Различные коды подстатуса можно увидеть в файлах журнала или через функцию Подробные ошибки. Ниже приведен список различных кодов вложенного состояния 404, создаваемых IIS: Вы можете настроить раздел httpErrors, чтобы отобразить пользовательскую ошибку для определённых кодов состояния. Если добавить следующую строку в раздел конфигурации httpErrors, IIS возвращает 404_3.htm, если запрашивается файл с расширением, которое не включено в раздел конфигурации MimeMap IIS (<staticContent> configuration section).
📥 下载地址(文章中间)
软件神器安装一切软件。
Вот как заставить пример работать: Добавьте запись выше в раздел конфигурации httpErrors. Создайте файл с именем 404_3.htm в каталоге c:\inetpub\custerr\en-us . Создайте файл с именем test.yy в c:\inetpub\wwwroot каталоге. Теперь выполните запрос http://localhost/test.yyy . Расширение .yyy не является частью IIS MimeMap, а обработчик статических файлов не будет обслуживать его. Новые функции в IIS: языково-специфичные пользовательские ошибки Каждый из последних браузеров включает язык клиента в качестве заголовка запроса. Ниже приведен пример того, как может выглядеть этот заголовок: Синтаксис и реестр принятых языков указывается в RFC1766 . При возникновении ошибки службы IIS принимают во внимание этот заголовок при поиске пользовательского файла ошибок, который он возвращает. Он создает путь для пользовательской ошибки с помощью следующей логики: Параметр конфигурации prefixLanguageFilePath (например c:\inetpub\custerr )+ заголовок Accept-Language, отправленный клиентом (например, en-us) + Параметр конфигурации пути (например, 404.htm) Если браузер отправляет запрос на не существующий ресурс, а заголовок Accept-Language имеет значение "en-us", будет возвращен c:\inetpub\custerr\en-us\404.htm файл. Например, если вы находитесь из Германии, вы хотите, чтобы сообщения об ошибках были на немецком языке. Для этого необходимо установить языковой пакет Windows Vista для немецкого языка. Это создает c:\inetpub\custerr\de-DE каталог с пользовательскими файлами ошибок. Теперь, если браузер отправляет заголовок Accept-Language со значением "de-DE", будет возвращен файл c:\inetpub\custerr\de-DE\404.htm . IIS всегда переходит на системный язык, если каталог "de-DE" не существует. Internet Explorer позволяет настроить заголовок Accept-Language. Перейдите на вкладку "Сервис" — "Интернет-параметр", перейдите на вкладку "Общие" и нажмите кнопку "Языки". Настраиваемые параметры ошибок В приведенных выше примерах IIS отправляет содержимое файла как пользовательский ответ об ошибке. IIS имеет два других способа реагирования на ошибку: выполнив URL-адрес или перенаправив запрос. Если вы хотите расширить функциональность пользовательской ошибки, например, отправить электронное письмо или журналировать ошибку в базу данных, вы можете обработать URL-адрес. Это позволяет выполнять динамическое содержимое, например страницу ASP.NET. Пример ниже заменяет стандартную страницу ошибки 404. Теперь IIS выполняет /404.aspx всякий раз, когда возникает ошибка 404. Соображения безопасности Слово предостережения: по архитектурным причинам IIS может выполнять URL-адрес только если он находится в одном пуле приложений. Используйте функцию перенаправления для выполнения пользовательской ошибки в другом пуле приложений. IIS также может возвращать перенаправление 302 в браузер при возникновении определенной ошибки. Перенаправление хорошо, если у вас есть ферма серверов. Например, вы можете перенаправить все ошибки в централизованное место, которое вы внимательно мониторите. Однако существует риск: responseMode="File" (по умолчанию) позволяет указать каждый файл на диске. Это не будет работать, если вы очень озабочены безопасностью. Рабочий сценарий может включать только делегирование параметра errorMode. Это позволяет разработчику получать подробные ошибки для своего приложения, даже если он использует удаленный клиент. Всё, что нужно сделать, — это установить параметр errorMode="Detailed". Вот как настроить этот сценарий: Разрешить делегирование раздела httpErrors: Во-вторых, перейдите к разделу <httpErrors> в applicationHost.config и измените его так, чтобы делегировался только errorMode. В IIS мощными функциями являются пользовательские и детализированные ошибки. Они помогают устранять неполадки без ущерба для безопасности сервера IIS. Многие параметры конфигурации помогают настроить взаимодействие пользователей. Самое главное: экспериментирование с ним весело. Устранение распространенных ошибок IIS Были ли сведения на этой странице полезными? Нужна помощь с этой темой? Хотите попробовать использовать Ask Learn для уточнения или руководства по этой теме? Дополнительные ресурсы Last updated on 2026-03-27
📥 下载地址(文章结尾)
软件神器安装一切软件。