Подробное сообщение об ошибке 500, ASP + IIS 7.5
IIS 7.5, 2008rc2, классический asp, 500 ошибка msg:
страница не может быть отображена из-за внутренней ошибки сервера.
Мне нужно знать, как настроить IIS для получения более подробной ошибки.
Я попытался установить значение true для всех параметров отладки в конфигурации ASP.
Но это не сработало. Кто-нибудь может мне помочь?
12 ответов
Я пришел к той же проблеме и исправил так же, как Алекс K.
поэтому, если» отправить ошибки в браузер » не работает, установите также это:
Страницы Ошибок — > 500 — > Изменить Настройки Функций — > «Подробные Ошибки»
также обратите внимание, что если содержимое страницы ошибок, отправленной обратно, довольно короткое, и вы используете IE, IE с радостью проигнорирует полезный контент, отправленный обратно сервером, и покажет вам свою собственную общую страницу ошибок вместо. Вы можете отключить это в настройках IE или использовать другой браузер.
206
поделиться
автор: Vaclav Elias
Если вы находитесь на удаленном сервере, вы можете настроить свой веб.конфигурационный файл так:
<configuration> <system.webServer> <httpErrors errorMode="Detailed" /> <asp scriptErrorSentToBrowser="true"/> </system.webServer> <system.web> <customErrors mode="Off"/> <compilation debug="true"/> </system.web>
84
поделиться
автор: safhac
дважды щелкните » ASP «на главном экране сайта в IIS admin, разверните» свойства отладки», включите» отправить ошибки в браузер «и нажмите»Применить».
В разделе » страницы ошибок «на главном экране выберите» 500″, затем» изменить настройки функций «и выберите»подробные ошибки».
обратите внимание, что те же шаги применяются для IIS 8.0 (Windows Server 2012).
42
поделиться
автор: Alex K.
после Вацлава и Алекс ответ, мне все равно пришлось отключить «показывать дружественные сообщения об ошибках HTTP» в IE
38
поделиться
автор: Tim Partridge
на web.config под
<system.webServer>
заменить (или добавить) строку
<httpErrors errorMode="Detailed"></httpErrors>
С
<httpErrors existingResponse="PassThrough" errorMode="Detailed"></httpErrors>
это потому, что по умолчанию IIS7 перехватывает коды состояния HTTP, такие как 4xx и 5xx, генерируемые приложениями далее по конвейеру.
далее включить «выводить ошибки в браузер
также запись в папке веб-сайта в группу iis_iusrs встроенные группы.
14
поделиться
автор: Niente00
попробуйте установить значение атрибута httpErrors «existingResponse»в » PassThrough». Мой был установлен на «заменить», что заставляло YSOD не отображаться.
<httpErrors errorMode="Detailed" existingResponse="PassThrough">
9
поделиться
автор: Dana Benson
TLDR: сначала определите, где в конвейере вы получаете ошибку (прокрутите поиск скриншотов чего-то, что напоминает вашу ошибку), внесите изменения, чтобы получить что-то новое, повторите.
сначала определите, какое сообщение об ошибке вы на самом деле видите.Если вы видите файл, расположенный здесь…
%SystemDrive%\inetpub\custerr\ \ 500.НТМ
…который обычно выглядит как это:
…тогда вы знаете, что видите настроенную страницу ошибок в * * IIS * * и вам не нужно изменять настройки customErrors, настройки ASP error detail или настройки браузера «показать дружественные ошибки http».
вы можете посмотреть на указанный выше путь, а не доверять моему скриншоту на случай, если кто-то его изменил.
» Да, я вижу вышеописанное ошибка…»
в этом случае, вы видите настройку httpErrors> или в диспетчере IIS это Страницы Ошибка — > «Редактировать Параметры Объекта». По умолчанию для этого используется errorMode=DetailedLocalOnly в уровень узла сервера (в отличие от уровня сайта) это означает, что, хотя вы увидите эту настроенную страницу ошибок на удаленном компьютере, вы сможете локально войти на сервер и увидеть полную ошибку, которая должна выглядеть примерно так это:
У вас должно быть все, что вам нужно в этот момент, чтобы исправить текущую ошибку.
«но я не вижу подробной ошибки даже при просмотре на сервере»
Это оставляет пару возможностей.
- браузер вы используете на сервере настроен на использование прокси-сервера в его настройках подключения он не рассматривается как «локальный».
- вы на самом деле не сидя в сайт, на который вы просматриваете-это обычно происходит, когда задействован балансировщик нагрузки. Выполните проверку ping, чтобы узнать, дает ли dns вам IP-адрес на сервере или где-то еще.
- Вы сайт httpErrors настройки установлены только для» Custom». Измените его на «DetailedLocalOnly». Однако при возникновении ошибки конфигурации это может не сработать, так как httpErrors уровня сайта также является элементом конфигурации. В этом случае перейдите к #4
- по умолчанию для httpErrors для всех сайтов установлено значение «Custom». В этом случае вам нужно нажать на серверный узел верхнего уровня в диспетчере IIS (а не на конкретный сайт) и изменить httpErrors настройки там для DetailedLocalOnly. Если это внутренний сервер, и вы не беспокоитесь о разглашении конфиденциальной информации, вы также можете установить его на «подробный», который позволит вам увидеть ошибку от клиентов, отличных от сервера.
«вход в сервер не является вариантом для меня»
измените свой сайт httpErrors «подробно», чтобы вы могли видеть его удаленно. Но если это не работает, ваша ошибка уже может быть ошибкой конфигурации, см. #3 непосредственно выше. Таким образом, вы можете застрять с #4, и вам понадобится кто-то из вашей команды серверов.
» Я не вижу страницу ошибки, описанную выше. Я вижу что-то другое»
…и вы ожидаете увидеть нечто подобное…
…затем вам нужно изменить «отправить ошибки в браузер» на true в диспетчере IIS в разделе Site —> IIS —> ASP —> Debugging Properties
или это…
…вам нужно отключите дружественные ошибки в вашем браузере или используйте WebView fiddler, чтобы посмотреть на актуальный ответ vs, что ваш браузер выбирает, чтобы показать вам.
Если вы видите эту…
…тогда пользовательские ошибки работают, но у вас нет пользовательской страницы ошибок (конечно, на данный момент речь шла о .net, а не о классическом asp). Вам нужно изменить тег customErrors в вашем интернете.config to RemoteOnly для просмотра на сервере, или Выключено для удаленного просмотра.
Если вы видите что-то, что стилизовано как ваш сайт, то пользовательские ошибки, вероятно, On или RemoteOnly, и он отображает пользовательскую страницу (представления->общий — >ошибка. например, cshtml в MVC). Тем не менее, маловероятно, но возможно, что кто-то изменил страницы в IIS для httpErrors, поэтому см. Первый раздел об этом.
8
поделиться
автор: b_levitt
одна вещь, о которой никто не упоминал, — это очень быстрое и временное исправление, вы можете просмотреть ошибку на localhost этого веб-сервера.
6
поделиться
автор: RandomUs1r
вы также можете проверить, что если вы изменили свою основную папку веб-сайта (c:\inetpub\wwwroot
) в другую папку, вы должны дать разрешение на чтение группа IIS_IUSRS в новой папке.
3
поделиться
автор: Rogerio Barretto
Fot люди, которые пробовали все и просто не могут получить детали ошибки, чтобы показать, как я, это хорошая идея, чтобы проверить различные уровни конфигурации. У меня есть файл конфигурации на уровне сайта и на уровне приложения (внутри сайта) проверить обоих. Кроме того, как оказалось, у меня были подробные ошибки, отключенные на самом высоком узле в IIS (прямо под начальной страницей, у него есть имя, которое совпадает с именем компьютера webservers). Проверьте страницы ошибок там.
2
поделиться
автор: Jon Koeter
нашли его.
http://blogs.iis.net/ksingla/archive/2009/02/16/iis-7-5-updates-to-custom-errors-and-compression.aspx
запустить cmd от имени администратора, перейдите в папку system32\inetsrv и выполнить:
appcmd.exe set config -section:system.webServer/httpErrors -allowAbsolutePathsWhenDelegated:true
теперь я вижу подробные ошибки asp .
1
поделиться
автор: egidiocs
Если вы запустите браузер на сервере и протестируете свой url-адрес проекта с локальным ip-адресом, вы получили все ошибки этого проекта без общей страницы ошибок(например, страница 500 ошибок).
1
поделиться
автор: Ali Rasouli
Руководство по развертыванию сайта Microsoft ASP.NET (3): преобразования с использованием файла Web.Config
В большинстве программWeb.configЗдесь задаются параметры, которые необходимо изменить во время развертывания. Изменение этих конфигураций вручную каждый раз утомительно и чревато ошибками. В этой главе рассказывается, как обновитьWeb.configФайл, чтобы избежать этих проблем.
Существует два способа автоматического обновления параметров файла Web.config: преобразования Web.config и параметры веб-развертывания. Файл преобразования Web.config содержит теги XML, которые необходимо обновить во время развертывания. Вы можете объявить разные обновления для разных конфигураций сборки. Конфигурация сборки по умолчанию — Отладка и выпуск, вы также можете создать настраиваемую конфигурацию сборки.
Параметры веб-развертывания могут определять любые параметры, которые необходимо изменить во время развертывания (если они могут быть определены в Web. config). При определении обновлений файла Web.config создание параметров веб-развертывания очень сложно, но это очень полезно, если вы знаете эти значения конфигурации только во время развертывания. Например, в некоторых корпоративных средах вы упаковываете программу, а затем отправляете ее в ИТ-отдел для установки в производственной среде. ИТ-специалисту необходимо ввести строковое соединение, иначе он не сможет получить ваш пароль.
Что касается содержания этой главы, вы можете заранее настроить все в Web.config, поэтому нет необходимости использовать параметры Web Deploy.
Напоминание: если появляется сообщение об ошибке или некоторые функции не работают в соответствии с операцией, выполненной в этой главе, обязательно проверьте Страница устранения неполадок。
У вас есть 2 цели, которые необходимо развернуть: тестовая среда и производственная среда. Развертывание в тестовой среде обычно заключается в развертывании версии Release вместо версии Debug, но некоторые параметры Web. config могут отличаться от параметров в производственной среде. Поскольку преобразования Web.config объявляются конфигурацией сборки, вам необходимо создать новую конфигурацию сборки для тестовой среды.
Производственная среда использует конфигурацию сборки выпуска по умолчанию, а тестовая среда также может использовать конфигурацию сборки отладки по умолчанию, если вы можете использовать отладку. Если вам необходимо развернуть Release-версию программы в тестовой среде, вы можете создать конфигурацию тестовой сборки.
Откройте меню Visual Studio Build и выберите Configuration Manager, чтобы открыть диалоговое окно Configuration Manager.
вActive solution configurationBox, выберите NewNew. выскакиватьNew Solution ConfigurationВ диалоговом окне введите «Тест» в качестве имени новой конфигурации, а затем выберите изReleaseСкопируйте настройки. спастиCreate new project configurationsВыберите, затем щелкнитеOK。
неисправностьConfiguration ManagerДиалоговое окно.
Нужен еще одинWeb.config Файл преобразования соответствует конфигурации тестовой сборки. вSolution ExplorerВнутри развернутьWeb.config Файл можно увидеть созданным по умолчаниюWeb.Debug.configс участиемWeb.Release.configФайл, щелкните правой кнопкой мышиWeb.config Тогда выбирайAdd Config Transforms。
Файл Web.Test.config успешно добавлен.
Теперь вы можете вводить преобразования Web.config в файл преобразования Web.config.
В среде разработки Entity Framework Code First обычно по умолчанию настроен на автоматическое удаление / восстановление базы данных при изменении модели данных. Это очень удобно, когда вы разрабатываете сайт и часто меняете модель данных, но вы определенно не хотите, чтобы это происходило в производственной среде. Рекомендуемый способ управления функцией Entity Framework для автоматической инициализации базы данных — установить значение appSettings в файле Web. config.
(В руководстве Early Code First предлагалось установить код в методе Application_Start файла Global.asax. Если у вас есть такой код, удалите его перед развертыванием. Так как вы можете управлять поведением Code First, не меняя проект, например, вы можете настроить тест Проект для инициализации базы данных.)
Web.configфайлappSettings
НастроитьDatabaseInitializerForType
。<appSettings> <add key=»DatabaseInitializerForType ContosoUniversity.DAL.SchoolContext, ContosoUniversity.DAL» value=»ContosoUniversity.DAL.SchoolInitializer ContosoUniversity.DAL»/> <!— Other settings —> </appSettings>
Вам необходимо изменить атрибут value на «Disabled» для конфигурации сайта развертывания, как показано ниже: <appSettings> <add key = «DatabaseInitializerForType ContosoUniversity.DAL.SchoolContext, ContosoUniversity.DAL» value = «Disabled» /> <! — Другие настройки -> </appSettings>
Откройте Web. Release.config и сразу же добавьте новый элемент appSettings, как показано ниже (обязательно добавьте только элемент appSettings). <configuration xmlns: xdt = «http://schemas.microsoft.com/XML-Document-Transform»> <appSettings> <добавить ключ = «DatabaseInitializerForType ContosoUniversity.DAL.SchoolContext, ContosoUniversity.DAL» value = «Disabled» xdt: Transform = «SetAttributes» xdt: Locator = «Match (key)» /> </appSettings> <! — Существующие комментарии и элемент system.web -> </configuration>
Значение атрибута xdt: Transform «SetAttributes» означает, что целью текущего преобразования является обновление существующих элементов файла Web.config. Значение атрибута xdt: Locator «Match (key)» означает, что ключевой атрибут элемента, который необходимо обновить, совпадает с текущим объявленным ключевым атрибутом, а другое значение — это значение, которое необходимо изменить в файле развертывания Web.config. Этот код установит для инициализатора Entity Framework Code First значение «Disabled».
Если и тестовая среда, и производственная среда используют одну и ту же конфигурацию, то есть только среда разработки может автоматически создавать базу данных, поэтому вам необходимо добавить один и тот же код в файл Web.Test.config. (Нет необходимости обновлять файл Web.Debug.config, потому что в этой главе не будет создаваться сборка отладки).
Если ошибка возникает во время работы программы, она отображает обычное сообщение об ошибке (вместо системной желтой страницы) и использует пакет Elmah NuGet для обработки записей журнала ошибок и отчетов. Элемент customErrors файла Web.config объявляет адрес страницы с ошибкой: <customErrors mode = «RemoteOnly» defaultRedirect = «/ GenericErrorPage.aspx»> <error statusCode = «404» redirect = «/ GenericErrorPage.aspx «/> </customErrors>
Чтобы просмотреть страницу с ошибкой, вы можете временно установить значение режима элемента customErrors на «Вкл», а затем запустить программу из Visual Studio. Введите недопустимый URL-адрес (например, Studentxxx. aspx), вы увидите настраиваемую страницу с ошибкой, которая заменяет страницу с ошибкой «страница не найдена».GenericErrorPage.aspxстраница.
Проверьте журнал ошибок и введите elmah.axd после порта (пример скриншота: http: // localhost: 51130 / elmah.axd) для доступа:
После прочтения не забудьте сбросить значение режима элемента customErrors на «RemoteOnly».
Среда разработки может получить доступ к странице журнала ошибок по желанию, но производственная среда может представлять угрозу безопасности.Для производственной среды вы можете использовать преобразование в файле Web.Release.config, чтобы ограничить проверку подлинности только администраторами.
Откройте Web.Release.config и добавьте следующий код после элемента appSettings: <location path = «elmah.axd» xdt: Transform = «Insert»> <system.web> <authorization> <allow roles = «Administrator» /> <deny users = «*» /> </authorization> </system.web> </location>
Значение атрибута xdt: Transform «Insert» означает добавление этого элемента к другим узлам того же типа в Web. config в качестве узла-брата. (Уже существует элемент местоположения для объявления правил проверки для страницы обновлений кредитов.) После развертывания в производственной среде необходимо проверить, действительна ли проверка.
Вам не нужно ограничивать доступ к журналу ошибок тестовой среды, вам необходимо настроить файл Web.Test.config.
Примечание по безопасности:Информация журнала ошибок не должна отображаться и поддерживаться в производственной среде в любое время. Хакеры могут использовать уязвимости сайта для получения этой информации. Если вы используете ELMAH, убедитесь, что вы настроили его с минимальным риском. Конфигурация ELMAH в этой демонстрации не может считаться рекомендуемой конфигурацией. Это просто пример, показывающий, как управлять разрешениями папки.
Обычно разные среды используют разные конфигурации.Например, если программа вызывает WCF, разные среды могут вызывать разные адреса конечных точек. Программа университета Contoso аналогична. Установка идентификатора сайта помогает пользователям легко узнать, какую среду сайта вы посещаете. В файле шаблона Site.Master будет отображаться заголовок с идентификатором (Dev или Test).
Когда производственная среда запущена, идентификатор будет отключен.
Страница программы университета Contoso прочитанаWeb.configЗначение appSettings в файле определяет, в какой среде находится текущая запущенная программа: <appSettings> <! — Настройка инициализатора Entity Framework -> <add key = «Environment» value = «Dev» /> </appSettings>
Это значение должно быть «Test» в тестовой среде и «Prod» в производственной среде.
включитьWeb.Release.configФайл, добавьте следующий код в узел элемента appSettings: <appSettings> <! — преобразование инициализатора Entity Framework, которое вы ввели ранее -> <add key = «Environment» value = «Prod» xdt: Transform = «SetAttributes» xdt: Locator = «Match (key)» /> </appSettings>
Свойства Transform и Locator аналогичны преобразованиям, ранее созданным для Entity Framework.
После завершения,Web.Release.configПараметры appSettings должны выглядеть следующим образом: <appSettings> <add key = «DatabaseInitializerForType ContosoUniversity.DAL.SchoolContext, ContosoUniversity.DAL» value = «Disabled «xdt: Transform =» SetAttributes «xdt: Locator =» Match (key) «/> <add key =» Environment «value =» Prod «xdt: Transform =» SetAttributes «xdt : Locator = «Match (key)» /> </appSettings>
Затем тот же код применяется к файлу Web.Test.config, но устанавливается значение «Test». После завершенияWeb.Test.config Узел appSettings ниже должен выглядеть следующим образом: <appSettings> <add key = «DatabaseInitializerForType ContosoUniversity.DAL.SchoolContext, ContosoUniversity.DAL» value = » Отключено «xdt: Transform =» SetAttributes «xdt: Locator =» Match (key) «/> <add key =» Environment «value =» Test «xdt: Transform =» SetAttributes » xdt: Locator = «Match (key)» /> </appSettings>
Для сборки Release открывать не нужноdebuggingРежим. по умолчаниюWeb.release.configФайл преобразования автоматически удаляется из элемента компиляции.debugАтрибут. Поскольку созданная вами конфигурация тестовой сборки — это параметр, скопированный из выпуска, поэтомуWeb.Test.configТакже есть этот код: <system.web> <compilation xdt: Transform = «RemoveAttributes (debug)» /> </system.web>
Атрибут Transform определяет атрибут отладки, который необходимо удалить из файла Web.config после развертывания.
Поскольку у нас есть две версии базы данных, одна — это среда разработки, а другая — тестовая и производственная среда, вам необходимо установить другую строку подключения для тестовой и производственной среды, чем для среды разработки. включитьWeb.Test.configИ Web.Release.configПосле файла добавьте элемент <connectionStrings> в <configuration> следующим образом: <connectionStrings> <add name = «DefaultConnection» connectionString = «Data Source = | DataDirectory | aspnet-Prod. sdf » providerName =» System.Data.SqlServerCe.4.0 » xdt: Transform =» SetAttributes «xdt : Locator = «Match (name)» /> <add name = «SchoolContext» connectionString = «Data Source = | DataDirectory | School-Prod .sdf » providerName =» System.Data.SqlServerCe.4.0 » xdt: Transform =» SetAttributes «xdt: Locator =» Match (name) «/> </connectionStrings>
Атрибуты преобразования Match locator и SetAttributes, используемые этим кодом, аналогичны приведенной выше конфигурации идентификатора среды.
Для конфигурации тестовой и производственной сред у нас все готово.В следующей главе вы научитесь настраивать свойства проекта.
Для получения дополнительной информации о содержании этой главы посетите:ASP.NET Deployment Content Mapс участиемASP.NET Web Application Project Deployment FAQвнутреннийCan I exclude specific files or folders from deployment。
FAQ по phpMyAdmin. Возможные проблемы с сервером, их решение.
[1.1] Я запускаю PHP 4+ и сервер «падает» каждый раз каждый раз, когда начинает выполняться какое-либо действие, либо phpMyAdmin открывает в браузере пустую страницу, либо страницу, полную непонятных символов.
Скорее всего, это связано с ошибками PHP при буферизации на выходе и сжатии. Попробуйте установить в config.inc.php для переменной $cfg[‘OBGzip’] значение FALSE, и php.ini для директивы zlib.output_compression значение Off. Кроме того, известно о проблемах при работе PHP — 4.2.0 (кандидата в релиз) с Internet Explorer MS (проверенно на PHP 4.2.0 RC1 к RC4). Обновите версию релиза PHP 4.2.0.
[1.2] Мой Apache «падает» при использовании phpMyAdmin.
Прежде попробуйте последние версии Apache (и возможно MySQL). См. также другую запись FAQ по багам PHP с буферизацией на выходе. Если сервер продолжает «падать», обратитесь за помощью в группу поддержки Apache.
[1.3] Я запускаю phpMyAdmin в «cookie» режиме аутентификации под PHP 4.2.0 или 4.2.1 загруженном как Apache 2+ модуль, но всегда получаю лишь окно авторизации.
[1. 4] Используя, phpMyAdmin на IIS, я получаю сообщение об ошибке: «The specified CGI application misbehaved by not returning a complete set of HTTP headers…».
Вы забыли прочитать файл install.txt из дистрибутива php. Взгляните на последнее сообщение в этом баг репорте из официальной PHP базы данных ошибок.
[1.5] Используя phpMyAdmin на IIS, я получаю сбой и/или множественные сообщения об ошибках при работе в режиме HTTP-аутентификации.
Это — известная проблема с PHP ISAPI фильтром, которая заключается в его нестабильности. Для разрешения данной проблемы рекомендуется использование вместо данного режима ‘cookie’ — аутентификацию
[1.6] Я не могу использовать phpMyAdmin на PWS (Personal Web Server): ничего не отображается!
Скорее всего, это — баг PWS. Решением этой проблемы (лучшего пока не предложили) является удаление или закомментирование декларации DOCTYPE (2 линии) в скриптах libraries/header.inc.php, libraries/header_printview.inc.php, index. php, navigation.php и libraries/common.lib.php.
[1.7] Как я могу выполнять GZip или Bzip компрессию дампа или CSV экспорт. У меня складывается впечатление, что она не работает.
Эти возможности основаны на функциях PHP gzencode () и bzcompress (), для достижения большей независимости от платформы (Unix/Windows, безопасного режима, и т.д.). Таким образом, должен быть установлен PHP4> = 4.0.4, с поддержкой Zlib/Bzip2 (-с — zlib и — с — bz2). Если «падения» PHP возникают при попытке загрузки дампа с помощью Internet Explorer MS, при phpMyAdmin, запущенным под бетой PHP 4.2.0. В этом случае необходимо установить как минимум релиз PHP 4.2.0.
[1.8] Я не могу вставить текстовый файл в таблицу — я получаю ошибку «safe mode being in effect».
Ваш загруженный файл сохраняется PHP в директорию «upload dir», которая определена в php.ini переменной upload_tmp_dir (обычно, по умолчанию -/tmp). Мы рекомендуем, следующие установки для серверов Apache, запущенных в безопасном режиме, чтобы обеспечить разумную безопасность загрузки файлов:
- создать отдельную директорию для загрузок: mkdir /tmp/php
- дать права (монопольное использование) user. group Апача: chown apache.apache /tmp/php
- дать соответствующие разрешения: chmod 600 /tmp/php
- задать upload_tmp_dir = /tmp/php in php.ini
- перезапустить Apache
[1.9] Проблемы при загрузке файлов. Загруженные файлы не работают на моей системе, и имеют заголовок в первой строке Content-Type:.
Если у Вас стоит RedHat 7.0 и Вы обновили PHP RPM до php-4.0.4pl1-3.i386.rpm, то в этом случае эта проблема связана не с phpMyAdmin, а с RedHat 7.0. Дело в том, что данный пакет имеет серьезную ошибку, которая была давным-давно исправлена в PHP (2001-01-28: см. для получения подробной информации PHP’s bug tracking system).
Проблема усугубляется еще тем, что сбойный пакет все еще доступен, хотя данный баг был исправлен (см. RedHat’s BugZilla). Поэтому если у Вас возникает даная проблема, то для её решения загрузите исправленный пакет (4.0.4pl1-9). Данное действие решит также \r\n проблему загружаемого файла!
[1.10] Проблемы при загрузке файлов с помощью phpMyAdmin, под управлением безопасного сервера. Браузер — Internet Explorer, веб-сервер — Apache.
Как предложил «Rob M» на форуме phpWizard: добавьте следующую строчку в httpd.conf:
SetEnvIf User-Agent «.*MSIE.*» nokeepalive ssl-unclean-shutdown
В большинстве случаев это решает решает многие проблемы между Internet Explorer и SSL.
[1.11] Я получаю ‘open_basedir restriction’ при загрузке файла из блока запроса.
Начиная с версии 2.2.4, phpMyAdmin может работать с серверами, поддерживающими open_basedir с завершающим слешем. Завершающий слеш позволит открывать файлы в текущей директории (‘.’), все, что требуется, — создать директорию ‘tmp’ в папке phpMyAdmin, установить права на доступ 777 и остальным — такие же права как и у папки phpMyAdmin. Загружаемые файлы будут помещаться сюда, и после выполнения ваших SQL команд — удаляться.
[1.12] Я потерял свой MySQL root пароль, что можно сделать?
Мануал MySQL объясняет, как сбросить права доступа.
[1.13] Я получаю ошибку ‘No SQL query’ при попытке открыть закладку.
Если PHP не имеет разрешения чтения/записи в upload_tmp_dir, он соответственно не может получить доступ к загружаемому запросу.
[1.14] Я получаю ошибку ‘No SQL query’ при попытке отправить запрос из текстовой области.
Проверьте директиву post_max_size в конфигурационном файле PHP и попробуйте увеличить её значение.
[1.15] У меня проблемы с именами полей mysql.user.
В старших версиях MySQL, поля User и Password назывались соответственно user and password. Преобразуйте имена полей, с целью приведения их к текущему стандарту.
[1.16] Я не могу загрузить дамп большого размера (память, http или timeout проблемы).
Начиная с версии 2.7.0, механизм импорта был переписан, и эта проблема в принципе не должна иметь место. По возможности, обновите установленный phpMyAdmin до последней версии, чтобы использовать новые возможности импорта. Первым делом проверьте (или попросите проверить вашего хост-провайдера) значения переменных upload_max_filesize, memory_limit и post_max_size в php. ini. Все три перечисленные параметры ограничивают максимальный размер данных, которые могут быть переданы и обработаны PHP. Существует также мнение, что post_max_size и memory_limit должны быть больше чем upload_max_filesize.
Существует несколько вариантов, которые можно применить в случае необходимости загрузки слишком больших файлов, либо в случае невозможности конфигурирования php.ini:
- Обратите внимание на переменную $cfg [‘UploadDir’]. Она позволяет загружать файл на сервер с помощью scp, ftp, либо с помощью другого предпочитаемого вами метода передачи данных. PhpMyAdmin в данном случае может импортировать файлы из временной директории. Более подробная информация доступна в разделе документации «Конфигурация».
- Использование утилиты (такой как BigDump), для разбития файлов на части перед загрузкой.
Если Вы имеете shell-доступ, используйте MySQL, для непосредственного импортирования файлов. Это выполняется с помощью запуска sql-команды изнутри MySQL: источник filename. sql.
[1.17] Какие версии MySQL поддерживает phpMyAdmin?
Полностью поддерживаются все версии MySQL с 3.23.32 до 5.0 (за исключением 4.1.0 и 4.1.1). Обратите внимание на то, что чем старше версия MySQL, тем больше ограничений накладывается. phpMyAdmin может соединяться с вашим MySQL сервером, используя классические php-расширения: MySQL и его усовершенствованный вариант (MySQLi), который доступен в php 5.0. И в том и другом случае, разработчики обоих расширений рекомендуют использовать классическое расширение для MySQL 4.0 и ниже и MySQLi для MySQL 4.1 и новее.
При компилировании php, настоятельно рекомендуется, вручную связать выбранное Вами MySQL расширение с клиентской библиотекой MySQL по крайней мере с упрощенными версиями, которые присутствуют в дистрибутивах php. Чаще всего библиотеки, входящие в дистрибутив php — старые, их использование может вызывать проблемы (см. FAQ 1.17a). Если Ваш веб-сервер запущен под Windows вы можете попробовать MySQL Connector/PHP вместо MySQL / MySQLi расширений, который входит в состав сборки php под Win32. MySQL 5.1 еще не поддерживается.
[1.17a] Я не могу соединиться с MySQL сервером: он всегда возвращает сообщение об ошибке «Client does not support authentication protocol requested by server; consider upgrading MySQL client»
Вы пытаетесь получить доступ к MySQL со старой клиентской библиотекой MySQL. Версия клиентской библиотеки MySQL может быть проверена с помощью phpinfo (). Как правило, версия должна быть той же, что ваш сервер — как упомянуто в FAQ 1.17.
Эта проблема как правило, возникает при использовании версии 4.1 MySQL или более новой. MySQL изменил хеш аутентификации, а ваш PHP пытается использовать старый метод. Решение состоит в использовании расширения mysqli с клиентской библиотекой, соответствующей вашей установке MySQL. Выбранное расширение определено в $cfg [‘Servers’] [$i] [‘extension’]. Дополнительную информацию и примеры можно найти в документации MySQL.
[1.18] Запущена MySQL <= 4.0.1 с директивой lower_case_table_names установленной в 1. Если я создаю новую таблицу с заглавной буквой в её названии, она заменяется на строчную. Но если я пытаюсь удалить эту таблицу, MySQL не может найти соответствующий файл.
Это баг MySQL <= 4.0.1. Обновите, MySQL как минимум до версии 4.0.2, либо отключите директиву lower_case_table_names.
[1.19] Я не могу использовать опцию «display relations» потому что скрипт не знает шрифт, который я использую!
Библиотека «FPDF», которая используется для этой опции, подключает некоторые специальные файлы для использования шрифтов. Для получения большей информации об этих файлах ознакомьтесь с мануалом FPDF.
[1.20] Я получаю ошибку «cannot load MySQL extension, please check PHP Configuration».
Чтобы соединиться с MySQL сервером, PHP необходимо установить MySQL расширение (MySQL extension). Это расширение может быть частью PHP дистрибутива (compiled-in), в противном случае необходимо подгружать его динамически. Его имя скорее всего mysql.so или php_mysql.dll. В данном случае phpMyAdmin пытается загрузить расширение но безуспешно.
[1.21] Я запускаю CGI версию PHP под Unix, и не могу зарегистрироваться с помощью cookie аутентификации
В php.ini, установите mysql.max_links выше чем 1.
[1.22] Я не вижу поле «Location of text file», и как следствие не могу осуществлять загрузку.
Причина, скорее всего, в том, что в php.ini, параметр file_uploads не установлен в «on».
[1.23] Я запускаю MySQL на машине Win32. Каждый раз, когда я создаю новую таблицу имена таблицы и полей преобразуются в нижний регистр! Это происходит потому что MySQL директива lower_case_table_names по умолчанию имеет значение 1 (ON) в Win32 версии MySQL. Вы можете изменить это поведение, просто присвоив директиве значение 0 (OFF): Только не забудьте отредактировать файл my.ini, который обычно по умолчанию расположен в каталоге Windows и добавьте следующую строчку в группу [mysqld]: set-variable = lower_case_table_names=0 Затем, сохраните файл и перезапустите MySQL. Вы всегда можете проверить значение этой директивы, используя запрос
SHOW VARIABLES LIKE ‘lower_case_table_names’;
[1. 24] Некоторые символы искажаются в моих запросах, либо символы добавляются беспорядочно. Запущен PHP 4.2.3.
Это баг PHP 4.2.3.
[1.25] Я запускаю Apache с mod_gzip-1.3.26.1a под Windows XP, и сталкиваюсь с такой проблемой как неопределенные переменные, при запуске SQL запроса.
Решение от Jose Fandos: закомментируйте следующие две строки в httpd.conf:
# mod_gzip_item_include file \.php$ # mod_gzip_item_include mime «application/x-httpd-php.*»
В данной версии mod_gzip на Apache (Windows) имеет проблемы при обращении с PHP скриптами. Разумеется, после изменений не забудьте перезапустить Apache.
[1.26] Я установил phpMyAdmin в корневую директорию IIS, но при попытке запуска phpMyAdmin получаю ошибку «No input file specified».
Это проблема разрешений. Кликните правой кнопкой на папке phpmyadmin и выберите свойства. На вкладке Security, кликните «Add» и выберите пользователя «IUSR_machine» из списка. Теперь задайте для него разрешения — как правило, это решает проблему.
[1.27] При попытке просмотра большой страницы (напр. db_structure.php с множеством таблиц) я получаю пустую страницу.
Это — баг PHP, который проявляется, когда разрешена GZIP буферизация на выходе. Если отключить эту опцию ($cfg [‘OBGzip’] = FALSE в config.inc.php), проблема, как, правило решается. Эта ошибка будет пофиксена в PHP 5.0.0.
[1.28] Мой MySQL сервер иногда останавливает запросы и возвращает сообщение ‘Errorcode: 13’. Что это значит?
Это может происходить из-за бага MySQL, который проявляется в случае использования прописных букв в названиях баз данных/таблиц, хотя lower_case_table_names установлена в 1. Чтобы пофиксить проблему, отключите эту директиву, преобразуйте все имена базы данных и названия таблиц к строчным буквам и включите директиву снова. Как альтернатива — bug-fix доступный начиная с MySQL 3.23.56 / 4.0.11-gamma.
[1.29] Когда я создаю таблицу или преобразую поле, то получаю ошибку и поля дублируются.
Возможно Apache сконфигурирован таким образом, что PHP имеет проблемы с интерпретированием . php файлов. Проблемы возникают, при использовании двух различных (и конфликтующих) наборов директив: SetOutputFilter PHP
SetInputFilter PHP
&
AddType application/x-httpd-php .php
Вышеуказанная настройка есть в /etc/httpd/conf/httpd.conf, в то время как другая установка — в /etc/httpd/conf/addon-modules/php.conf.
Рекомендуется — использовать AddType, поэтому закомментируйте первые строчки и перезапустите Apache:
#SetOutputFilter PHP #SetInputFilter PHP
[1.30] Я получаю ошибку «navigation.php: Missing hash».
Эта проблема возникает, обычно когда сервер запускает Turck MMCache, но обновление MMCache до версии 2.3.21 решает данную проблему.
[1.31] Поддерживает ли phpMyAdmin php5?
Да. Однако, phpMyAdmin должен в то же время быть совместим с php4. Поэтому не удастся запустить phpMyAdmin, с разрешенным E_STRICT в настройках сообщения об ошибках (error_reporting).
[1.32] Могу ли я использовать HTTP-аутентификацию на IIS?
Да. Эта процедура была протестирована на phpMyAdmin 2.6.1, PHP 4.3.9 в ISAPI-режиме под IIS 5.1. 1. В конфигурационном файле php.ini file, установите cgi.rfc2616_headers = 0
2. В конфигурационной настройке Web Site Properties -> File/Directory Security -> Anonymous Access, выберите «Anonymous access» (анонимный доступ) и снимите выбор с остальных чекбоксов (снимите Basic authentication, Integrated Windows authentication, and Digest если они выбраны). Кликните «OK».
3. В «Custom Errors», выберите диапазон 401;1 через 401;5 и кликните «Set to Default» (установить по умолчанию)
[1.33] Насколько проблемно использование mysqli расширения с PHP 5.0.4 на 64-битных системах?
Да существует проблема: «Call to undefined function pma_reloadnavigation», таким образом в данном случае необходимо обновление PHP до следующей версии.
[1.34] Могу я получить непосредственный доступ к страницам базы данных или таблицы?
Да. Вне блока Вы можете использовать URLs: http://server/phpMyAdmin/index. ([a-zA-Z0-9_]+)$ index.php?db=$1 [R]
[1.35] Могу я использовать HTTP аутентификацию с Apache CGI?
Да. Однако вам необходимо передавать переменную аутентификации к CGI, используя следующее правило подстановки: RewriteEngine On
RewriteRule .* — [E=REMOTE_USER:%{HTTP:Authorization},L]
[1.36] Я получаю ошибку «500 Internal Server Error».
Здесь может быть много причин, и просмотр ваших серверных логов может дать объяснение возникновению данной ошибки.
[1.37] При запуске phpMyAdmin на кластере (группе) различных машин — при использовании cookie-аутентификации не работает шифрование пароля.
Если ваш кластер состоит из различных архитектур, PHP код, используемый для шифрования/дешифрования не будет работать корректно. Это происходит из-за использования в коде функций упаковки/распаковки. Единственным решением может стать использование расширения mcrypt, которое прекрасно работает в данном случае.
Как выключить customerrors в файле config сервера
Главная » Разное » Как выключить customerrors в файле config сервера
customerrors в файле config сервера что это
На чтение 2 мин. Просмотров 17 Опубликовано
Я получаю следующую ошибку при попытке подключиться к своему серверному приложению с использованием удаленного взаимодействия:
При подключении к удаленному серверу возникла проблема:
Сервер обнаружил внутреннюю ошибку. Для получения дополнительной информации отключите customErrors в файле .config сервера.
Это код моего серверного приложения:
Кажется, он работает с первого раза, но если серверное приложение не перезапускается, возникает ошибка.
Я думаю, что-то не очищается должным образом, но я не уверен, что, поскольку customError все еще включен.
1110 Любые идеи, с которых я начинаю. Благодаря.
[РЕДАКТИРОВАТЬ] – Благодаря Гульзару я изменил свой код выше для следующего, и теперь отображаются ошибки:
Я получаю следующую ошибку при попытке подключиться к своему серверному приложению с использованием удаленного взаимодействия:
Возможно, возникла проблема при подключении к удаленному серверу:
Сервер обнаружил внутреннюю ошибку. Для получения дополнительной информации отключите customErrors в файле .config сервера.
Это код моего серверного приложения:
Кажется, это работает с первого раза, но если приложение сервера не будет перезапущено, возникает ошибка.
Я предполагаю, что что-то не очищается должным образом, но я не уверен, что так как customError все еще включен.
Любые идеи, с которых я начинаю. Спасибо.
[РЕДАКТИРОВАТЬ] – Благодаря Gulzar я изменил свой код, приведенный выше, следующим образом, и теперь отображаются ошибки:
захожу на сайт myzika . ru
выдаёт такую ошибку
Ошибка сервера в приложении ‘/’.
Ошибка выполнения
Описание: На сервере возникла ошибка приложения. Текущая пользовательская настройка ошибок для этого приложения не позволяет удаленно просматривать сведения об ошибке данного приложения (из соображений безопасности). Однако, сведения можно просматривать в обозревателях, запущенных на локальном сервере.
Сведения: Для разрешения просмотра сведений данного сообщения об ошибке на локальном сервере создайте тег в файле конфигурации “web. config”, который находится в корневом каталоге текущего веб-приложения. В теге следует задать атрибут “mode” со значением “Off”.
Примечания: Отображаемую в данный момент страницу ошибок можно заменить на пользовательскую страницу ошибок, изменив атрибут “defaultRedirect” тега конфигурации приложения таким образом, чтобы он содержал URL-адрес пользовательской страницы ошибок.
CustomErrors mode = «Off»
В интересах добавления большего количества ситуаций к этому вопросу (потому что это то, куда я смотрел, потому что у меня была точно такая же проблема), вот мой ответ:
В моем случае я вырезал / вставил текст из общей ошибки, говоря, в действительности, если вы хотите увидеть, что не так, поставьте
<system.web> <customErrors mode="Off"/> </system.web>
Так что это должно было исправить это, но, конечно, нет! Моя проблема заключалась в том, что был узел <system.web> на несколько строк выше (перед узлом компиляции и аутентификации) и закрывающий тег </system. web> на несколько строк ниже. Как только я исправил это, хорошо, проблема решена. Что я должен был сделать, это скопировать / вставить только эту строку:
<customErrors mode="Off"/>
Это из летописи «Глупых вещей, которые я продолжаю делать снова и снова», в главе, озаглавленной «Скопируйте и вставьте свой путь к разрушению».
Сеть.config не показывает ошибок удаленно даже с customErrors= » Off » (на ubuntu / mono)
Вот моя паутина.конфигурационный файл:
<?xml version="1.0"?> <configuration> <system.web> <customErrors mode="Off" /> <compilation debug="true" strict="false" explicit="true /> <pages> <namespaces> <clear /> <add namespace="System" /> <add namespace="System.Collections" /> <add namespace="System.Collections.Generic" /> <add namespace="System.Collections.Specialized" /> <add namespace="System.Configuration" /> <add namespace="System.Text" /> <add namespace="System. Text.RegularExpressions" /> <add namespace="System.Web" /> <add namespace="System.Web.Caching" /> <add namespace="System.Web.SessionState" /> <add namespace="System.Web.Security" /> <add namespace="System.Web.Profile" /> <add namespace="System.Web.UI" /> <add namespace="System.Web.UI.WebControls" /> <add namespace="System.Web.UI.WebControls.WebParts" /> <add namespace="System.Web.UI.HtmlControls" /> </namespaces> <controls> <add src ="~/controls/maleBed.ascx" tagPrefix ="mycontrol" tagName ="male"/> <add src ="~/controls/femaleBed.ascx" tagPrefix ="mycontrol" tagName ="female"/> </controls> </pages> </system.web> </configuration>
Даже с режимом customErrors, установленным в Off (и его определенно заглавная «O»), он все еще показывает мне страницу ошибок по умолчанию, говоря мне установить это свойство, прежде чем я смогу увидеть эту фактическую ошибку удаленно.
У меня нет машины. конфигурационный файл, и я также установил этот customErrors mode= » Off » в Интернете.Отлаживать.конфиг и паутина.Выпускать.конфиг.
Есть идеи у кого-нибудь?
Большое вам спасибо.
Редактировать-что его показ:
Server Error in '/' Application Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine. Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off". <!-- Web.Config Configuration File --> <configuration> <system.web> <customErrors mode="Off"/> </system. web> </configuration> Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's <customErrors> configuration tag to point to a custom error page URL. <!-- Web.Config Configuration File --> <configuration> <system.web> <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/> </system.web> </configuration>
Зачем устанавливать customErrors в интернете.конфиг не работает в этом случае?
в моем ASP.NET 3.5 веб-сайт, который публикуется в общем хостинг-провайдере, я настроил свой веб-сайт.файл конфигурации выглядит так:
<customErrors mode="On" defaultRedirect="GenericErrorPage.htm"> <error statusCode="403" redirect="AccessDenied.htm"/> <error statusCode="404" redirect="FileNotFound.htm"/> </customErrors>
Если страницы запроса пользователя, которые не существуют ( например, «www. example.com/NotExistPage.aspx»), пользователь будет перенаправлен на FileNotFound.htm страница, как мы ожидаем .
но если пользователь запрашивает какой-то адрес, например : «www.example.com/NotExistDirectory-без .расширение aspx, пользователь столкнется со страницей ошибок IIS 7.5 :
ошибка HTTP 404.0 — не найден ресурс, который вы ищете, был удалили, изменили его название или временно недоступен.
информация об ошибке Detialed:
Module IIS Web Core Notification MapRequestHandler Handler StaticFile Error Code 0x80070002 Requested URL http://www.example.com:80/NotExistDirectory Physical Path D:Websitesexampleexample.comwwwrootNotExistDirectory Logon Method Anonymous Logon User Anonymous
это желтая страница, которая не является удобной для пользователя, и мы не ожидали .
мне интересно, что настройка customeError в webconfig не поддерживает этот тип адреса или нет ? Как я могу запретить пользователям видеть эту желтую страницу .
Edit: Благодаря ответу Дэвида, но я нашел настоящую причину и правильное решение. Пожалуйста, см. Мой ответ.
Сеть.config не показывает ошибки удаленно даже с customErrors= » Off » (на ubuntu / mono)
вот моя паутина.конфигурационный файл:
<?xml version="1.0"?> <configuration> <system.web> <customErrors mode="Off" /> <compilation debug="true" strict="false" explicit="true /> <pages> <namespaces> <clear /> <add namespace="System" /> <add namespace="System.Collections" /> <add namespace="System.Collections.Generic" /> <add namespace="System.Collections.Specialized" /> <add namespace="System.Configuration" /> <add namespace="System.Text" /> <add namespace="System.Text.RegularExpressions" /> <add namespace="System.Web" /> <add namespace="System.Web.Caching" /> <add namespace="System.Web.SessionState" /> <add namespace="System.Web.Security" /> <add namespace="System. Web.Profile" /> <add namespace="System.Web.UI" /> <add namespace="System.Web.UI.WebControls" /> <add namespace="System.Web.UI.WebControls.WebParts" /> <add namespace="System.Web.UI.HtmlControls" /> </namespaces> <controls> <add src ="~/controls/maleBed.ascx" tagPrefix ="mycontrol" tagName ="male"/> <add src ="~/controls/femaleBed.ascx" tagPrefix ="mycontrol" tagName ="female"/> </controls> </pages> </system.web> </configuration>
даже с режимом customErrors, установленным в Off (и его определенно заглавная «O»), он все еще показывает мне страницу ошибок по умолчанию, сообщая мне установить это свойство, прежде чем я смогу увидеть эту фактическую ошибку удаленно.
у меня нет машины.файл конфигурации, и я также установил этот режим customErrors= » Off » в Интернете.Отлаживать.config и Web.Освобождать.конфиг.
есть идеи кто-нибудь?
спасибо много.
Edit-что его показывает:
Server Error in '/' Application Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine. Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off". <!-- Web.Config Configuration File --> <configuration> <system.web> <customErrors mode="Off"/> </system.web> </configuration> Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's <customErrors> configuration tag to point to a custom error page URL. <!-- Web.Config Configuration File --> <configuration> <system. web> <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/> </system.web> </configuration>
Эта Ошибка В Web.Config
Я пытаюсь исправить. Я загрузил мою папку проекта в веб-хостинг. Мой проект запускается локально, но показывает ошибку времени выполнения в файле we.config. Я не знаю, как исправить эту ошибку. Я добавил строку в system.web еще есть проблема. Я удалил страницу default.aspx now.IS, эта проблема связана с отсутствием страницы по умолчанию.
Description: An application error occurred on the server. The current custom
error settings for this application prevent the details of the application error
from being viewed remotely (for security reasons). It could, however, be viewed
by browsers running on the local server machine.Details: To enable the details of this specific error message to be viewable
on remote machines, please create a <customErrors> tag within a "web.config"
configuration file located in the root directory of the current web application.
This <customErrors> tag should then have its "mode" attribute set to "Off".
web.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<connectionStrings>
<add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-multi_hrms-20150331014837;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-multi_hrms-20150331014837.mdf" />
</connectionStrings>
<system.web>
<customErrors mode="Off"/>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
<pages>
<namespaces>
<add namespace="System. Web.Optimization" />
</namespaces>
<controls>
<add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt" />
</controls>
</pages>
<authentication mode="None">
<forms loginUrl="~/Account/Login.aspx" timeout="2880" />
</authentication>
<profile defaultProvider="DefaultProfileProvider">
<providers>
<add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" />
</providers>
</profile>
<membership defaultProvider="DefaultMembershipProvider">
<providers>
<add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
</providers>
</membership>
<roleManager defaultProvider="DefaultRoleProvider">
<providers>
<add name="DefaultRoleProvider" type="System. Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" />
</providers>
</roleManager>
<sessionState mode="InProc" customProvider="DefaultSessionProvider">
<providers>
<add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" />
</providers>
</sessionState>
</system.web>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v11.0" />
</parameters>
</defaultConnectionFactory>
</entityFramework>
</configuration>
Веб-конфигурация
— Asp.
net — ошибка при попытке доступа к рабочей веб-страницеПереполнение стека
- Около
- Продукты
- Для команд
- Переполнение стека Общественные вопросы и ответы
.
asp.net — Web.config не показывает ошибки удаленно, даже если customErrors = «Off» (в ubuntu / mono)
Переполнение стека
- Около
- Продукты
- Для команд
- Переполнение стека Общественные вопросы и ответы
- Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
- Вакансии Программирование и связанные с ним технические возможности карьерного роста
.
Режим CustomError в файле web.config
Создайте тег в файл конфигурации «web.config», расположенный в корневом каталоге текущее веб-приложение. Этот тег должен иметь свой Атрибут «mode» установлен на «Off».
Если для параметра customErrors установлено значение On или RemoteOnly, вам необходимо укажите атрибут defaultRedirect. Этот атрибут содержит страницу ошибки на которую будет перенаправлен пользователь. Дополнительно вы можете принять настраиваемую ошибку обработка следующего шага путем связывания определенных ошибок с конкретной ошибкой страниц. Раздел customErrors может содержать элементы ошибок, которые связывают конкретные ошибки со страницами ошибок.Следующий пример кода иллюстрирует это концепция.
error statusCode = «403» redirect = «Contents / CommonPage.aspx» />
.
Как настроить файл web.config для отображения полного сообщения об ошибке (.net core 2.1)
Переполнение стека
- Около
- Продукты
- Для команд
- Переполнение стека Общественные вопросы и ответы
- Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
.
Подробное сообщение об ошибке 500, ASP + IIS 7.5
Skip to content
IIS 7.5, 2008rc2, классический asp, 500 error msg:
Невозможно отобразить страницу, поскольку произошла ошибка внутреннего сервера.
Мне нужно знать, как настроить IIS, чтобы получить более подробную ошибку.
Я попытался установить true для всех параметров отладки в конфигурации ASP.
Но это не сработало. Кто-нибудь может мне помочь?
ОТВЕТЫ
Ответ 1
Я пришел к той же проблеме и исправил так же, как Alex K.
Итак, если «Отправить ошибки для браузера» не работает, установите также:
Страницы ошибок → 500 → Изменить настройки параметров → «Подробные ошибки»
Также обратите внимание, что если содержимое страницы с ошибкой, отправленное назад, довольно короткое, и вы используете IE, IE будет с радостью игнорировать полезный контент, отправленный сервером, и вместо этого покажет вам свою собственную общую страницу ошибок. Вы можете отключить это в настройках IE или использовать другой браузер.
Ответ 2
Если вы находитесь на удаленном сервере, вы можете настроить файл web.config следующим образом:
<configuration> <system.webServer> <httpErrors errorMode="Detailed" /> <asp scriptErrorSentToBrowser="true"/> </system.webServer> <system.web> <customErrors mode="Off"/> <compilation debug="true"/> </system.web>
Ответ 3
Дважды щелкните «ASP» на главном экране сайта в администраторе IIS, разверните «Свойства отладки», включите «Отправить ошибки в браузере» и нажмите «Применить».
В разделе «Страницы ошибок» на главном экране выберите «500», затем «Редактировать настройки параметров» и выберите «Подробные ошибки».
Обратите внимание, что для IIS 8.0 (Windows Server 2012) применяются те же шаги.
Ответ 4
После использования Вацлава и ответа Alex мне все равно пришлось отключить «Показать сообщения об ошибках HTTP», в IE
Ответ 5
В web.config в
<system.webServer>
заменить (или добавить) строку
<httpErrors errorMode="Detailed"></httpErrors>
с
<httpErrors existingResponse="PassThrough" errorMode="Detailed"></httpErrors>
Это связано с тем, что по умолчанию IIS7 перехватывает коды состояния HTTP, такие как 4xx и 5xx, сгенерированные приложениями далее по конвейеру.
Затем включите « Отправить ошибки в браузере» в разделе «ASP», а в разделе « Страницы ошибок/Редактировать настройки параметров» выберите «Подробные ошибки».
Кроме того, дайте Разрешения на запись в папку веб-сайта для встроенной группы IIS_IUSRS.
Ответ 6
попробуйте установить значение атрибута httpErrors «existingResponse» в значение «PassThrough». Шахта была установлена в положение «Заменить», из-за чего YSOD не отображался.
<httpErrors errorMode="Detailed" existingResponse="PassThrough">
Ответ 7
Одна вещь, о которой никто не упоминал, — это очень быстрое и временное исправление, вы можете просмотреть ошибку на локальном хосте этого веб-сервера.
Ответ 8
TL;DR: сначала определите, где в конвейере вы получаете сообщение об ошибке (прокрутка в поисках скриншотов чего-то, что напоминает вашу ошибку), внесите изменения, чтобы получить что-то новое, повторите.
# 1 Сначала определите, какое сообщение об ошибке вы видите.Если вы видите файл, расположенный здесь…
% SystemDrive%\Inetpub\custerr\\500. htm
… который обычно выглядит следующим образом:
… тогда вы знаете, что видите текущую настроенную страницу ошибок в ** IIS **, и вам не нужно изменять параметр customErrors, настройку параметров ошибки asp или «показывать дружественный http ошибок».
Возможно, вам захочется взглянуть на приведенный выше путь, вместо того, чтобы доверять моему скриншоту на случай, если кто-то изменит его.
«Да, я вижу вышеописанную ошибку…»
В этом случае вы видите настройку < httpErrors > или в диспетчере IIS Страницы ошибок → Изменить настройки параметров. По умолчанию это errorMode = DetailedLocalOnly на уровне сервера node (в отличие от уровня сайта), что означает, что пока вы увидите эту страницу с ошибкой при удалении, вы должны иметь возможность регистрировать на локальном сервере и увидеть полную ошибку, которая должна выглядеть примерно так:
У вас должно быть все, что вам нужно, чтобы исправить текущую ошибку.
«Но я не вижу подробных ошибок даже при просмотре на сервере»
Это оставляет пару возможностей.
- Браузер, который вы используете на сервере, настроен на использование прокси-сервера в настройках соединения, поэтому он не рассматривается как «локальный».
- Вы фактически не просматриваете сайт, на который, по вашему мнению, просматриваете, — это обычно происходит, когда задействован балансировщик нагрузки. Сделайте проверку ping, чтобы узнать, дает ли dns IP-адрес на сервере или где-то еще.
- Настройки сайта httpErrors настроены только для «Пользовательский». Измените его на «DetailedLocalOnly». Однако, если у вас есть ошибка конфигурации, это может не сработать, так как уровень сайта httpErrors также является элементом конфигурации. В этом случае перейдите к # 4
- По умолчанию для httpErrors для всех сайтов установлено значение «Пользовательский». В этом случае вам нужно щелкнуть на сервере верхнего уровня node в диспетчере IIS (а не на определенном сайте) и изменить httpErrors настроек в DetailedLocalOnly. Если это внутренний сервер, и вы не беспокоитесь о разглашении конфиденциальной информации, вы также можете установить его в «Подробный», который позволит вам видеть ошибку от клиентов, отличных от сервера.
«Вход на сервер для меня не вариант»
Измените свой сайт httpErrors на «Подробно», чтобы вы могли видеть его удаленно. Но если это не сработает, ваша ошибка может быть ошибкой конфигурации, см. № 3 сразу же. Таким образом, вы можете застрять в # 4, и вам понадобится кто-то из вашей серверной команды.
«Я не вижу страницу с ошибкой, описанную выше. Я вижу что-то другое»
… и вы ожидаете увидеть что-то вроде этого…
… тогда вам нужно изменить «Отправить ошибки в браузере» в true в диспетчере IIS, в разделе «Сайты» → IIS → ASP → Свойства отладки
… вам нужно отключить дружественные ошибки в вашем браузере или использовать веб-просмотр fiddler, чтобы посмотреть на фактический ответ и то, что ваш браузер хочет вам показать.
Если вы видите это…
… тогда пользовательские ошибки работают, но у вас нет настраиваемой страницы ошибок (конечно, в этот момент речь шла о .net, а не о классическом asp). Вам нужно изменить свой тег customErrors в вашем web.config на RemoteOnly для просмотра на сервере или Выключить для удаленного просмотра.
Если вы видите то, что написано как ваш сайт, то пользовательские ошибки, скорее всего, On или RemoteOnly, и отображение пользовательской страницы (Views- > Shared- > Error.cshtml в MVC, например). Тем не менее, маловероятно, но возможно, что кто-то изменил страницы в IIS для httpErrors, поэтому см. Первый раздел.
Ответ 9
Вы также можете проверить, что если вы изменили папку своего основного сайта (c:\inetpub\wwwroot
) в другую папку, вы должны предоставить разрешение на чтение группе IIS_IUSRS в новой папке.
Ответ 10
Fot люди, которые пробовали ВСЕ, и просто НЕ МОГУТ получить данные об ошибках, чтобы показать, как и я, неплохо проверить разные уровни конфигурации. У меня есть файл конфигурации на уровне веб-сайта и на уровне приложения (внутри веб-сайта) проверьте оба. Кроме того, как выяснилось, у меня были детализированные ошибки на самом высоком node в IIS (прямо под стартовой страницей, у него есть имя, такое же, как имя пользователя webservers). Проверьте там страницы ошибок.
Ответ 11
Нашел.
http://blogs.iis.net/ksingla/archive/2009/02/16/iis-7-5-updates-to-custom-errors-and-compression.aspx
запустите cmd как администратор, перейдите в папку system32\inetsrv и выполните:
appcmd.exe set config -section:system.webServer/httpErrors -allowAbsolutePathsWhenDelegated:true
Теперь я вижу подробные ошибки asp.
Подробное сообщение об ошибке 500, ASP + IIS 7.5
Подробное сообщение об ошибке 500, ASP + IIS 7.5IIS 7.5, 2008rc2, классический asp, ошибка 500:
Невозможно отобразить страницу, поскольку произошла внутренняя ошибка сервера.
Мне нужно знать, как настроить IIS, чтобы получить более подробную ошибку.
Я попытался установить в true все параметры отладки в конфигурации ASP.
Но это не сработало. Может кто-нибудь помочь мне?
asp-classic error-handling iis-7.5
—
egidiocs
источник
Ответы:
Я пришел к той же проблеме и установил точно так же , как Alex K .
Так что, если «Отправить ошибки браузеру» не работает, установите также это:
Страницы ошибок -> 500 -> Изменить параметры функции -> «Подробные ошибки»
Также обратите внимание, что если содержимое страницы с ошибкой, отправленной обратно, довольно короткое и вы используете IE, IE с радостью проигнорирует полезный контент, отправленный обратно сервером, и покажет вам свою собственную страницу с общими ошибками. Вы можете отключить это в настройках IE или использовать другой браузер.
—
Вацлав Элиас
источник
Если вы находитесь на удаленном сервере, вы можете настроить свой файл web.config следующим образом:
<configuration> <system.webServer> <httpErrors errorMode="Detailed" /> <asp scriptErrorSentToBrowser="true"/> </system.webServer> <system.web> <customErrors mode="Off"/> <compilation debug="true"/> </system.web>
—
safhac
источник
Дважды щелкните «ASP» на главном экране сайта в IIS admin, разверните «Свойства отладки», включите «Отправить ошибки в браузер» и нажмите «Применить».
В разделе «Страницы ошибок» на главном экране выберите «500», затем «Изменить настройки функции» и выберите «Подробные ошибки».
Обратите внимание, что те же шаги применимы к IIS 8.0 (Windows Server 2012).
—
Алекс К.
источник
После попытки ответа Вацлава и Алекса мне все равно пришлось отключить «Показывать дружественные сообщения об ошибках HTTP» в IE.
—
Тим Партридж
источник
В web.config под
<system.webServer>
заменить (или добавить) строку
<httpErrors errorMode="Detailed"></httpErrors>
с участием
<httpErrors existingResponse="PassThrough" errorMode="Detailed"></httpErrors>
Это связано с тем, что по умолчанию IIS7 перехватывает коды состояния HTTP, такие как 4xx и 5xx, сгенерированные приложениями далее по конвейеру.
Затем включите « Отправлять ошибки в браузер » в разделе «ASP», а в разделе « Страницы ошибок / Изменить параметры функции » выберите «Подробные ошибки».
Кроме того, предоставьте разрешения на запись в папку веб- сайта встроенной группе IIS_IUSRS .
—
Niente00
источник
TLDR: сначала определите, где в конвейере вы получаете ошибку (прокрутите, ища скриншоты чего-то, что напоминает вашу ошибку), внесите изменения, чтобы получить что-то новое, повторите.
Сначала определите, какое сообщение об ошибке вы видите на самом деле.Если вы видите файл, расположенный здесь …
% SystemDrive% \ Inetpub \ custerr \\ 500.htm
… который обычно выглядит так:
. .. тогда вы знаете, что видите текущую настроенную страницу ошибки в ** IIS **, и вам НЕ нужно изменять настройку ASPE customErrors, настройку сведений об ошибках asp или настройку браузера «show friendly http errors».
Возможно, вы захотите взглянуть на вышеуказанный путь, а не доверять моему скриншоту на случай, если кто-то его изменил.
«Да, я вижу вышеописанную ошибку …»
В этом случае вы видите настройку < httpErrors > или в IIS Manager это страницы ошибок -> Изменить настройки функций. По умолчанию для этого используется errorMode = DetailLocalOnly на уровне узла сервера (в отличие от уровня сайта), что означает, что, хотя вы увидите эту настроенную страницу ошибок, пока удаленно, вы сможете локально войти на сервер и увидеть полный ошибка, которая должна выглядеть примерно так:
У вас должно быть все, что вам нужно, чтобы исправить текущую ошибку.
«Но я не вижу подробных ошибок даже при просмотре на сервере»
Это оставляет пару возможностей.
- Браузер, который вы используете на сервере, настроен на использование прокси в настройках соединения, поэтому он не рассматривается как «локальный».
- Вы на самом деле не просматриваете сайт, который, как вы думаете, вы просматриваете — это обычно происходит, когда задействован балансировщик нагрузки. Выполните проверку ping, чтобы узнать, дает ли dns IP-адрес на сервере или где-то еще.
- Настройки httpErrors вашего сайта установлены только для «Custom». Измените его на «DetailLocalOnly». Однако, если у вас есть ошибка конфигурации, это может не сработать, поскольку httpErrors уровня сайта также является элементом конфигурации. В этом случае перейдите к # 4
- По умолчанию для httpErrors для всех сайтов установлено значение «Пользовательский». В этом случае вам нужно щелкнуть по узлу сервера верхнего уровня в диспетчере IIS (а не по определенному сайту) и изменить там настройки httpErrors на DetailsLocalOnly . Если это внутренний сервер и вы не беспокоитесь о разглашении конфиденциальной информации, вы также можете установить для него значение «Подробно», что позволит вам увидеть ошибку от клиентов, отличных от сервера.
- Вам не хватает модуля на сервере, такого как UrlRewrite (этот укус меня сильно кусает, и он часто выдает общее сообщение независимо от настроек httpErrors).
«Вход на сервер для меня не вариант»
Измените httpErrors вашего сайта на «Подробно», чтобы вы могли видеть его удаленно. Но если это не сработает, ваша ошибка уже может быть ошибкой конфигурации, см. № 3 непосредственно выше. Таким образом, вы можете застрять с № 4 или № 5, и вам понадобится кто-то из вашей команды сервера.
«Я не вижу страницу ошибки, описанную выше. Я вижу что-то другое»
… и вы ожидаете увидеть что-то подобное …
… тогда вам нужно изменить «Отправить ошибки в браузер» на true в IIS Manager, в разделе Сайт -> IIS -> ASP -> Свойства отладки.
или это…
… вам нужно отключить дружественные ошибки в вашем браузере или использовать веб-просмотр fiddler, чтобы посмотреть фактический ответ против того, что ваш браузер хочет показать вам.
Если вы видите это …
… тогда работают пользовательские ошибки, но у вас нет пользовательской страницы ошибок (конечно, в этот момент речь шла о .net, а не о классическом asp). Вам необходимо изменить тег customErrors в файле web.config на RemoteOnly для просмотра на сервере или Off для удаленного просмотра.
Если вы видите что-то в стиле вашего сайта, то, скорее всего, пользовательские ошибки включены или RemoteOnly и отображает пользовательскую страницу (например, Views-> Shared-> Error.cshtml в MVC). Тем не менее, маловероятно, но возможно, что кто-то изменил страницы в IIS для httpErrors, так что смотрите первый раздел об этом.
—
b_levitt
источник
попробуйте установить значение атрибута httpErrors «существующий ответ» в «PassThrough». Мой был установлен на «Заменить», что заставляло YSOD не отображаться.
<httpErrors errorMode="Detailed" existingResponse="PassThrough">
—
Дана Бенсон
источник
Одна вещь, о которой никто не упомянул, это очень быстрое и временное исправление: вы можете просмотреть ошибку на локальном хосте этого веб-сервера.
—
RandomUs1r
источник
Вы также можете проверить, что если вы изменили папку основного веб-сайта ( c:\inetpub\wwwroot
) на другую папку, вы должны дать разрешение на чтение группе IIS_IUSRS в новой папке.
—
Рожерио Барретто
источник
Для людей, которые пробовали ВСЕ и просто НЕ МОГУТ получить подробности об ошибке, чтобы показать, как я, это хорошая идея, чтобы проверить различные уровни конфигурации. У меня есть файл конфигурации на уровне веб-сайта и на уровне приложения (внутри веб-сайта), проверьте оба. Кроме того, как выяснилось, у меня были отключены подробные ошибки на самом высоком узле в IIS (прямо под стартовой страницей, имя которого совпадает с именем компьютера веб-сервера). Проверьте страницы ошибок там.
—
Джон Кётер
источник
Нашел это.
http://blogs.iis.net/ksingla/archive/2009/02/16/iis-7-5-updates-to-custom-errors-and-compression.aspx
запустите cmd от имени администратора, перейдите в папку system32 \ inetsrv и выполните:
appcmd.exe set config -section:system.webServer/httpErrors -allowAbsolutePathsWhenDelegated:true
Теперь я вижу подробные ошибки asp.
—
egidiocs
источник
Если вы запустите браузер на сервере и протестируете свой URL проекта с локальным IP-адресом, вы получите все ошибки этого проекта без страницы общих ошибок (например, страница 500 ошибок).
—
Али Расули
источник
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.
Пользовательские ответы об ошибках — HTTP-сервер Apache версии 2.4
HTTP-сервер Apache версии 2.4
Доступные языки: en | да | фр | я | ко | tr
Хотя HTTP-сервер Apache предоставляет общие ответы об ошибках в случае кодов состояния HTTP 4xx или 5xx эти ответы довольно резкий, неинформативный и может отпугнуть пользователей сайта. Вы можете предоставить пользовательские ответы на ошибки, которые либо дружелюбнее, или на другом языке, кроме английского, или, может быть, оформлены в соответствии с макетом вашего сайта.
Пользовательские ответы на ошибки могут быть определены для любого состояния HTTP код, обозначенный как состояние ошибки — то есть любой 4xx или 5xx статус.
Кроме того, предоставляется набор значений, поэтому что документ об ошибке можно дополнительно настроить на основе значения этих переменных, используя Server Сторона включает. Или вы можете иметь условия ошибки, обработанные cgi или другой динамический обработчик (PHP, mod_perl и т. д.), который использует эти переменные.
- Конфигурация
- Доступные переменные
- Настройка ответов на ошибки
- Многоязычные пользовательские документы об ошибках
См. также
- Комментарии
Пользовательские документы об ошибках настраиваются с помощью директивы ErrorDocument
,
которые могут использоваться в глобальном,
виртуальный хост или контекст каталога. Может использоваться в файлах .htaccess.
если для параметра AllowOverride
установлено значение
Информация о файле.
ErrorDocument 500 "Извините, наш скрипт дал сбой. О боже" ErrorDocument 500 /cgi-bin/crash-recover ErrorDocument 500 http://error.example.com/server_error.html Документ об ошибке 404 /errors/not_found.html ErrorDocument 401 /subscription/how_to_subscribe.html
Синтаксис директивы ErrorDocument
:
ErrorDocument <трехзначный код> <действие>
, где действие будет рассматриваться как:
- Локальный URL-адрес для перенаправления (если действие начинается с «/»).
- Внешний URL-адрес для перенаправления (если действие является допустимым URL-адресом).
- Отображаемый текст (если ни один из вышеперечисленных). Текст должен быть заключенный в кавычки («»), если он состоит из более чем одного слова.
При перенаправлении на локальный URL дополнительные переменные среды устанавливаются так, чтобы ответ можно было дополнительно настроить. Их не отправляют в внешние URL-адреса.
Перенаправление на другой URL-адрес может быть полезным, но только если некоторые может быть передана информация, которая затем может быть использована для объяснения или регистрации состояние ошибки более четко.
Для этого при отправке перенаправления ошибки будут установлены переменные среды, которые будут сгенерированы из заголовки, предоставленные исходному запросу путем добавления «REDIRECT_» на исходное имя заголовка. Это обеспечивает ошибку задокументировать контекст исходного запроса.
Например, помимо обычных переменные окружения, следующие.
REDIRECT_HTTP_ACCEPT=*/*, изображение/gif, изображение/jpeg, изображение/png
REDIRECT_HTTP_USER_AGENT=Mozilla/5.0 Fedora/3.5.8-1.fc12 Firefox/3.5.8
REDIRECT_PATH=.:/bin:/usr/local/ bin:/sbin
REDIRECT_QUERY_STRING=
REDIRECT_REMOTE_ADDR=121.345.78.123
REDIRECT_REMOTE_HOST=client.example.com
REDIRECT_SERVER_NAME=www. example.edu
REDIRECT_SERVER_PORT=80
REDIRECT_SERVER_SOFTWARE=Apache/2.2.15
REDIRECT_URL=/cgi-bin/buggy.pl
REDIRECT_
переменные среды создаются из
переменные окружения, существовавшие до
перенаправить. Они переименованы в REDIRECT_
.
префикс, т.е. , HTTP_USER_AGENT
становится REDIRECT_HTTP_USER_AGENT
.
REDIRECT_URL
, REDIRECT_STATUS
и REDIRECT_QUERY_STRING
гарантированно будут установлены, и
другие заголовки будут установлены только в том случае, если они существовали до
состояние ошибки.
Нет из них будут
устанавливается, если цель ErrorDocument
является внешний перенаправление (все, что начинается с
имя схемы вроде http:
, даже если оно относится к тому же хосту
как сервер).
Если вы укажете свой ErrorDocument
на какое-то разнообразие
динамический обработчик, такой как включаемый документ на стороне сервера, CGI
script или какой-либо другой обработчик, вы можете использовать
доступные пользовательские переменные среды для настройки этого
отклик.
Если ErrorDocument указывает локальное перенаправление на CGI
сценарий, сценарий должен включать «Статус :
»
поле заголовка в своем выводе, чтобы обеспечить распространение
весь путь назад к клиенту состояния ошибки, которое
вызвал его вызов. Например, Perl ErrorDocument
сценарий может включать следующее:
... print "Тип контента: text/html\n"; printf "Статус: %s условие перехвачено\n", $ENV{"REDIRECT_STATUS"}; ...
Если сценарий предназначен для обработки конкретной ошибки
состояние, например 404 Not Found
, он может
вместо этого используйте конкретный код и текст ошибки.
Обратите внимание, что если ответ содержит Location:
заголовок (чтобы выполнить перенаправление на стороне клиента), скрипт должен выдать соответствующий заголовок Статус:
(например, 302 Найдено
). В противном случае Расположение: заголовок
может не иметь никакого эффекта.
При установке Apache HTTP Server предоставляется
каталог пользовательских документов об ошибках, переведенных на 16 различных
языки. Также есть конфигурационный файл в conf/extra
каталог конфигурации, который можно включить
чтобы включить эту функцию.
В файле конфигурации вашего сервера вы увидите строку, например:
# Многоязычные сообщения об ошибках #Include conf/extra/httpd-multilang-errordoc.conf
Раскомментировать это Включить строку
, чтобы включить это
функции и предоставлять сообщения об ошибках с согласованием языка на основе
языковые предпочтения, установленные в клиентском браузере.
Кроме того, эти документы содержат различные REDIRECT_
переменных, чтобы можно было получить дополнительную информацию.
быть предоставлены конечному пользователю о том, что произошло, и что они могут
Делай сейчас.
Эти документы могут быть изменены в соответствии с вашими пожеланиями. предоставлять больше полезной информации пользователям о вашем сайте и о том, что они могут рассчитывать найти там.
mod_include
и mod_negotiation
должен быть включен, чтобы использовать эту функцию.
Примечание:
Это не раздел вопросов и ответов. Комментарии, размещенные здесь, должны указывать на предложения по улучшению документации или сервера и могут быть удалены нашими модераторами, если они либо реализованы, либо считаются недействительными/не по теме. Вопросы о том, как управлять HTTP-сервером Apache, следует направлять либо на наш IRC-канал #httpd, на Libera.chat, либо в наши списки рассылки.
Веб-конфигурация не работает! — .NET — Форумы SitePoint
Howdy_McGee
#1
Итак, сценарий таков: я беру существующий веб-сайт HTML/CSS и добавляю контактную форму, используя ASP. NET. Все идет хорошо, пока я не поставлю его на свой сервер и не получу эту ошибку «пользовательские ошибки» в моем файле веб-конфигурации. Мой файл веб-конфигурации почти ничего не содержит, поэтому я безуспешно пытаюсь добавить код в сообщение об ошибке (обоих). Что я могу сделать, чтобы решить эту проблему и избежать ее в будущем?
http://ns-llc.com/alexnodr/networkspecialists/contactUs.aspx
ImagineKitty
#2
Итак, что происходит, когда вы следуете указаниям в разделе «Подробности:»?
Howdy_McGee
#3
Ничего не меняется
> В любом случае выдает одно и то же сообщение об ошибке.
wwb_99
#4
Как выглядит папка? Для какой версии ASP.NET настроен сервер?
тдсмитдж
#5
отключить пользовательские ошибки web.config, попробуйте добавить код xml, если его там нет.
Попробуйте также узнать, какую версию .net поддерживает ваш хостинг. Многие из них поддерживают только 2.0.
Howdy_McGee
#6
Что ж, я попытался добавить код на странице ошибки в свой файл веб-конфигурации, и это не помогло, поэтому отключение пользовательских ошибок на данный момент не представляется возможным.
Я разговаривал с людьми, размещающими сервер, и они говорят, что у них работает последняя версия ASP.NET.
wwb_99
#7
Хорошо, какой инструмент вы использовали для создания контактной формы.
Howdy_McGee
#8
Ну, я использую Visual Studio Web Dev 2010. Я также узнал, что серверы .net framework версии 2.0 — действительно ли это имеет такое большое значение?
зажим
#9
Возможно, вы компилируете для . NET 4.0, но если ваш сервер работает под управлением 2.0, я думаю, у вас возникнут некоторые проблемы. Вы поняли, почему ваш хост говорит, что он использует последнюю версию, если это 2.0?
Вы должны иметь возможность отключить пользовательские ошибки и включить отладку через свой web.config. Это даст вам лучшее представление о проблеме, с которой вы столкнулись.
Howdy_McGee
#10
Что ж, я пробовал — и ничего не изменилось — мой файл web.config выглядит так:
<system.web> <компиляция debug="true" targetFramework="2.0" /> </system.web> <system.web> <режим customErrors="Выкл"> </customErrors>
NightStalker
#11
Попробуйте это:
Howdy_McGee
#12
Кажется, он не распознает targetFramework=»2.0″, он продолжает выдавать ошибку, а под ним находится синяя линия. Не знаю, что это значит.
Ночной Сталкер
№13
Убедитесь, какую версию . NET хост настроил на вашем сайте для использования
k3ine
№14
Ваш файл web.config находится в корневом каталоге вашего приложения?
Пробовали ли вы просто выводить значение на экран, а не использовать его на самом деле? (например, Response.Write(ConfigurationSettings.AppSettings(«[keyname]»))
Я сохраняю все строки подключения к базе данных в файле web.config и делаю что-то вроде этого:
web.config:
<добавить ключ = «Клиенты» значение = «идентификатор рабочей станции = ПК; идентификатор пользователя = имя пользователя; пароль = пароль; источник данных = сервер; сохранить информацию о безопасности = True; начальный каталог = база данных»/>
В коде:
sqlConn = New SqlConnection
sqlConn. ConnectionString = ConfigurationSettings.AppSettings («Клиенты»)
И это прекрасно работает.
– Украл это у модератора
Я только скажу вам, как это сделать, а не сделаю это за вас.
Если, конечно, вы не хотите нанять меня, чтобы я работал на вас.
Howdy_McGee
№15
Ну, я не использую никаких соединений с базой данных. И мой сервер работает под управлением версии 2.0, которую невероятно сложно разработать, как я понял. . .
[решено] Как отключить пользовательскую обработку ошибок в IIS
59 847
Решение 1
Имейте в виду, что ошибки IIS и ошибки asp.net — это две разные вещи,
Для удаленных запросов по умолчанию в IIS включены настраиваемые ошибки. Это означает, что если вы возвращаете ответ none 200 из своего приложения, IIS отбрасывает тело, которое вы отправляли обратно, и заменяет его собственной настраиваемой страницей. что может быть довольно неприятным, если вы размещаете службу REST, которая должна возвращать клиенту сведения об ошибках в виде json или XML.
для отключения пользовательских ошибок ASP.net используйте элемент customErrors (схема настроек ASP.NET)
для отключения пользовательских ошибок IIS используйте ошибки HTTP IIS httpErrors
Решение 2
Запустите средство управления информационными службами Интернета (IIS) из инструментов администрирования (в меню «Пуск», если там включены инструменты администрирования). Откройте систему и щелкните правой кнопкой мыши на своем веб-сайте. Выберите Свойства. Выберите вкладку ASP.NET. Нажмите «Редактировать конфигурацию». Перейдите на вкладку Пользовательские ошибки. Выберите Off
для пользовательского режима ошибок.
Или перейдите в папку, содержащую ваше приложение, откройте файл web. config в текстовом редакторе и отредактируйте вручную, а также измените тег пользовательских ошибок на
Решение 3
Согласно документации MSDN допустимые значения режима:
Вкл. : Указывает, что пользовательские ошибки включены. Если атрибут defaultRedirect не указан, пользователи увидят общую ошибку. Пользовательские ошибки отображаются для удаленных клиентов и локального хоста.
Выкл. Указывает, что пользовательские ошибки отключены. Подробные ошибки ASP.NET отображаются для удаленных клиентов и локального хоста.
RemoteOnly Указывает, что пользовательские ошибки отображаются только для удаленных клиентов, а ошибки ASP.NET — для локального узла. Это значение по умолчанию.
По умолчанию используется RemoteOnly.
Делиться:
59 847
Похожие видео на Youtube
25 : 35
Пользовательская ошибка в ASP. net с примером | Объяснение Global.asax
Гангвар
10 : 56
ASP NET Web Config ПОЛЬЗОВАТЕЛЬСКАЯ ПРОГРАММА ОШИБОК
Веб-технология
05 : 24
[ИСПРАВЛЕНО] Ошибка сервера в коде приложения ‘/’ Проблема Проблема
TechinPost
02 : 17
Пользовательские страницы ошибок IIS7.5
Dark Effects Studios
02 : 29
Ошибка Web.Config ASP.Net IIS Запись DefaultConnection уже добавлена
Компьютерное программирование
02 : 54
Ошибка сервера в приложении ‘/’
Technology Vlog
06 : 48
Пользовательская страница ошибки в asp net
ВЕБ-ФОРМ ASPNET
01 : 05
Создание настраиваемых сообщений об ошибках для веб-сайта в Windows IIS
Роберт Макмиллен
03 : 11
Нарушение блокировки IIS при редактировании параметров страницы ошибки
Dark Effects Studios
Автор
tvanfosson
Компетентный программист полностью осознает строго ограниченный размер собственного черепа; поэтому он подходит к задаче программирования с полным смирением и, помимо прочего, избегает хитрых уловок, как чумы. — Э. В. Дейкстра, скромный программист HomeValet.co
Обновлено 18 августа 2020 г.
Комментарии
тванфоссон около 2 лет
Как вы вообще смотрите на файл web.config? Я не знаю, куда идти, чтобы отключить пользовательские ошибки… помогите!
Я попробовал командную строку и java-скрипт…. кто-нибудь может мне помочь?
НикоГранелли около 10 лет
Вау, я впервые слышу об этом различии, спасибо!
НикоГранелли около 10 лет
Достаточно ли этого, чтобы показать подробную ошибку даже от удаленных клиентов:
Оливер 12 месяцев
Оба метода отключения собственных ошибок ASP. NET и IIS не работают с приложением WCF, размещенным в IIS (Net framework 4.7.2)
Последние
Почему я получаю дополнительные странные символы при создании файла из вывода grep?
Unix для проверки отсутствия содержимого и пустых строк в файле
BASH: может grep в командной строке, но не в сценарии
Safari на iPad иногда не распознает ссылки обратной передачи ASP.NET
тег привязки не работает в Safari ( ios) для iPhone/iPod Touch/iPad
Регистрация запроса SOAP и ответа на стороне сервера
Нет значения в пути JSON «$.name», исключение: json не может быть нулевым или пустым, с использованием Mockmvc и Spring-boot
Ошибка: «неверный компаратор» при сортировке с использованием пользовательской функции сравнения «локальное распределение градиента» в проекте Android Studio
Возврат нескольких объектов из приспособления pytest
Связанные
Как управлять отчетами об ошибках | Документация Джанго
При работе с общедоступным сайтом всегда следует отключать ОТЛАДКА
настройка. Это заставит ваш сервер работать намного быстрее, и
также не позволяйте злоумышленникам видеть детали вашего приложения, которые могут быть
выявляется страницами с ошибками.
Однако работа с параметром DEBUG
, установленным на False
, означает, что вы никогда не увидите
ошибки, генерируемые вашим сайтом — вместо этого все увидят вашу общедоступную ошибку
страницы. Вам нужно отслеживать ошибки, возникающие на развернутых сайтах, поэтому Django
можно настроить для создания отчетов с подробной информацией об этих ошибках.
Фильтрация отчетов об ошибках
Предупреждение
Фильтрация конфиденциальных данных является сложной проблемой, и ее практически невозможно решить. гарантировать, что конфиденциальные данные не попадут в отчет об ошибке. Следовательно, отчеты об ошибках должны быть доступны только доверенным членам команды, и вы следует избегать передачи отчетов об ошибках в незашифрованном виде через Интернет (например, по электронной почте).
Пользовательские отчеты об ошибках
Все чувствительные_переменные()
и чувствительные_пост_параметры()
делать это,
соответственно, аннотировать декорированную функцию именами чувствительных
переменные и аннотировать объект HttpRequest
с именами конфиденциальных
POST-параметры, чтобы эту конфиденциальную информацию можно было впоследствии отфильтровать.
отчетов при возникновении ошибки. Фактическая фильтрация выполняется Django.
фильтр отчетов об ошибках по умолчанию: django.views.debug.SafeExceptionReporterFilter
. Этот фильтр использует
аннотации декораторов для замены соответствующих значений звездочками
( **********
) при создании отчетов об ошибках. Если вы хотите
переопределить или настроить это поведение по умолчанию для всего сайта, вам необходимо
определите свой собственный класс фильтра и скажите Django использовать его через DEFAULT_EXCEPTION_REPORTER_FILTER
настройка:
DEFAULT_EXCEPTION_REPORTER_FILTER = 'путь. к.вашему.CustomExceptionReporterFilter'
Вы также можете более детально контролировать, какой фильтр использовать в
данный вид, установив HttpRequest
exception_reporter_filter
атрибут:
def my_view (запрос): если request.user.is_authenticated: request.exception_reporter_filter = CustomExceptionReporterFilter() ...
Ваш пользовательский класс фильтра должен наследоваться от django.views.debug.SafeExceptionReporterFilter
и может переопределить
следующие атрибуты и методы:
- класс
SafeExceptionReporterFilter
-
очищенный_заменитель
Строковое значение для замены конфиденциального значения. По умолчанию это заменяет значения чувствительных переменных звездочками (
**********
).
-
скрытые_настройки
Скомпилированный объект регулярного выражения, используемый для сопоставления настроек и
request. META
значений считаются конфиденциальными. Эквивалент по умолчанию до:импорт повторно re.compile(r'API|TOKEN|KEY|SECRET|PASS|SIGNATURE', flags=re.IGNORECASE)
-
is_active
( запрос ) Возвращает
True
для активации фильтрации вget_post_parameters()
иget_traceback_frame_variables()
. По умолчанию фильтр активен, еслиDEBUG
равноFalse
. Примечание этот чувствительный запрос. Значения META
всегда фильтруются вместе с значения чувствительных настроек, как описано вDEBUG
документация.
-
get_post_parameters
( запрос ) Возвращает отфильтрованный словарь параметров POST. Чувствительные значения заменяются на
cleand_substitute
.
-
get_traceback_frame_variables
( запрос , tb_frame ) Возвращает отфильтрованный словарь локальных переменных для заданного кадр обратной трассировки. Чувствительные значения заменены на
очищенный_заменитель
.
-
Если вам необходимо настроить отчеты об ошибках помимо фильтрации, вы можете указать
пользовательский класс репортера ошибок, определив DEFAULT_EXCEPTION_REPORTER
настройка:
DEFAULT_EXCEPTION_REPORTER = 'путь.к.вашему.CustomExceptionReporter'
Составитель отчета об исключении отвечает за составление данных отчета об исключении,
и отформатировать его как текст или HTML соответствующим образом. (Репортёр исключений использует DEFAULT_EXCEPTION_REPORTER_FILTER
при подготовке исключения
данные отчета.)
Ваш пользовательский класс репортера должен наследоваться от django.views.debug.ExceptionReporter
.
- класс
ExceptionReporter
-
html_template_path
Свойство, возвращающее
pathlib.Path
, представляющее абсолютный путь в файловой системе к шаблону для рендеринга HTML-представления исключение. По умолчанию используется шаблон, предоставленный Django.
-
text_template_path
Свойство, возвращающее
pathlib.Path
, представляющее абсолютный путь в файловой системе к шаблону для рендеринга обычного текста представление об исключении. По умолчанию предоставлен Django шаблон.
-
get_traceback_data
() Вернуть словарь, содержащий информацию о трассировке.
Это основная точка расширения для настройки отчетов об исключениях, для пример:
из django.views.debug импортировать ExceptionReporter класс CustomExceptionReporter (ExceptionReporter): защита get_traceback_data (я): данные = супер().get_traceback_data() # ... убираем/добавляем сюда что-то ... возвращаемые данные
-
get_traceback_html
() Вернуть HTML-версию отчета об исключениях.
Используется для HTML-версии страницы ошибки HTTP 500 отладки.
-
get_traceback_text
() Вернуть версию отчета об исключении в виде обычного текста.
Используется для текстовой версии страницы ошибок HTTP 500 отладки и электронной почты отчеты.
-
Как и в случае с классом фильтра, вы можете контролировать, какой класс генератора отчетов об исключениях использовать.
в любом заданном представлении, установив HttpRequest
exception_reporter_class
атрибут:
def my_view (запрос): если request.user.is_authenticated: request.exception_reporter_class = CustomExceptionReporter() ...
См. также
Вы также можете настроить пользовательские отчеты об ошибках, написав пользовательский фрагмент
ПО промежуточного слоя исключений. Если вы пишете обычай
обработка ошибок, рекомендуется эмулировать встроенную обработку ошибок Django.
и сообщать об ошибках только в том случае, если DEBUG
равно False
.
Как обновить Django до более новой версии
Как предоставить исходные данные для моделей
Вернуться к началу
Настройка пользовательской ошибки с использованием файла web.config в Asp.Net
Ошибки могут быть очень раздражающими и иногда вводить пользователей в заблуждение при просмотре веб-приложения. Эти нежелательные, а иногда и необработанные ошибки могут нанести ущерб репутации веб-сайта и его бизнесу. Ошибки могут быть такими, как «Файл не найден» или ошибка при выполнении кода на стороне сервера.
Независимо от уважительной или недопустимой причины необработанная ошибка, такая как страница не найдена, иногда может сбить с толку пользователей, которые могут подумать, что страница или страницы никогда не существовали на самом деле, что также может увеличить показатель отказов вашего веб-сайта. Показатель отказов — это термин SEO, используемый для анализа того, как быстро пользователь покидает страницу после посещения страницы. Вы можете прочитать больше об этом здесь.
Хорошо написанный серверный код с использованием Asp.Net должен иметь процедуры обработки ошибок с использованием блоков try, catch и finally. Эти блоки гарантируют, что ошибки обрабатываются и не выходят из-под контроля, открывая структуры и шаблоны кодов. Поскольку ошибки неизбежны и иногда могут возникать в результате действий, совершенных пользователем непреднамеренно или иным образом, всегда рекомендуется эффективно обрабатывать ошибки.
Эти ошибки уровня приложения могут быть эффективно обработаны путем настройки файла web.config с использованием его родительского элемента customErrors и его дочерних элементов error. XML-файл с именем web.config создается автоматически, как только вы решите создать новый веб-сайт с помощью Asp.Net.
Типичный элемент customErrors с его дочерними элементами внутри файла web.config выглядит следующим образом.
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage. htm"> <error statusCode="403" redirect="NoAccess.htm"/> <error statusCode="404" redirect="FileNotFound.htm"/> </customErrors>
Это структура по умолчанию элемента customErrors, который также имеет свои атрибуты. Вы можете редактировать значения атрибутов с различными параметрами, а также можете добавить больше дочерних элементов, чтобы лучше обслуживать своих пользователей при обработке этих нежелательных ошибок.
Элемент customError и его атрибуты
атрибут режима
В элементе customError доступны 3 пользовательских режима ошибок. Этот режим определяет, должна ли ошибка обрабатываться или нет.
1) mode=»RemoteOnly» — это режим по умолчанию, который вы найдете после создания файла web.config. Это означает, что ошибки будут обрабатываться, а пользовательские сообщения будут отображаться только для пользователей после развертывания веб-приложения на сервере. Разработчики увидят, что страница ошибки по умолчанию обрабатывается и отображается IIS.
2) mode=»Off» — установите режим Off, и он будет показывать страницу ошибки по умолчанию разработчику, а также пользователям во время просмотра.
3) mode=»On» — Пользовательские страницы, предназначенные исключительно для отображения сообщений об ошибках, будут отображаться для разработчиков и онлайн-пользователей, если для режима установлено значение «On».
Атрибут defaultRedirect
Атрибут defaultRedirect перенаправляет на страницу, предназначенную исключительно для обработки и отображения сообщений в случае ошибки, выданной сервером. Очевидно, это зависит от типа режима, выбранного и установленного при развертывании приложения.
URL-адрес перенаправления может вести либо на простую HTML-страницу, либо на более динамичную страницу Asp.Net (.aspx). Динамические страницы могут быть очень полезны, в частности, для веб-администраторов, поскольку они могут записывать или отправлять им важную информацию. Эта информация может быть использована для исправления ошибок (если они есть), а также для целей анализа.
Как мы уже говорили ранее в этой статье, что исключения или ошибки на стороне сервера должны обрабатываться с помощью процедур обработки исключений Asp.Net, мы создадим сценарий, в котором вызов «хранимой процедуры» SQL Server приводит к ошибке и который не обрабатываются должным образом.
Хранимая процедура GetActiveEmployeeList возвращает список всех активных сотрудников компании при первой загрузке страницы. Каким-то образом человек, ответственный за управление базой данных, забыл создать процедуру. Это происходит много раз, когда у вас слишком много объектов базы данных для управления и развертывания.
Поскольку процедуры нет в базе данных, сервер выдаст ошибку о том, что она существует.
Не обязательно, чтобы ваши пользователи были технически подкованными или знали, как интерпретировать вышеуказанную ошибку. Этого вообще не должно было случиться, но если это произошло, то должен быть способ, который сообщит заинтересованному лицу об этом, а также пользователь получит достойное и значимое сообщение.
Чтобы отобразить пользовательскую страницу ошибки в этом контексте, все, что вам нужно сделать, это установить customErrors mode=»On» или mode=»RemoteOnly» и перенаправить пользователя на пользовательскую страницу, используя defaultRedirect=»MyCustomErrorPage.aspx»
<customErrors mode="On" defaultRedirect="MyCustomErrorPage.aspx">
Разумно разработайте свою пользовательскую страницу, чтобы она не только выглядела привлекательно и достойно для ваших онлайн-пользователей, но и посылала им четкое сообщение о том, насколько серьезно вы относитесь к качеству обслуживания. Информация. Сделайте страницу интерактивной, например, спросите пользователей об отзывах и предложениях, которые помогут улучшить приложение в будущем.
Дочерний элемент customError и его атрибуты
Дочерний элемент <error /> отвечает за обработку очень специфических ошибок на основе определенного кода состояния и, соответственно, перенаправляет на страницу, предназначенную для отображения сообщения об ошибке определенного типа.
<error statusCode="404" redirect="FileNotFound.htm"/>
Атрибут statusCode
Этот атрибут используется для определения кода состояния https, который представляет собой числовое значение. Вы можете определить несколько атрибутов, используя несколько элементов <error />.
301 — перемещено навсегда
403 — запрещено
404 — не найдено
Узнайте больше о statusCode здесь . Эти конкретные типы могут быть определены с помощью statusCode.
Предположим, что у вас есть страница с именем newArrivals.htm, для которой URL-адрес должен быть www(dot)yoursite(dot)com/newArrivals.htm, а пользователь по ошибке вводит его как newArrival.htm (без s). Поскольку страница без s не существует, сервер покажет сообщение об ошибке «страница не найдена».
Это конкретное сообщение и другие подобные сообщения по умолчанию, отображаемые сервером, дают представление (до некоторой степени) о том, что могло быть возможной причиной не отображения страницы.
Настоятельно рекомендуется иметь пользовательскую страницу 404, которая может помочь пользователям получить достоверную информацию об отсутствующей странице или странице с ошибками.
Чтобы перенаправить пользователя на пользовательскую страницу, вы можете использовать атрибут «redirect» элемента «<error />».
<error statusCode="404" redirect="Custom404-Error.aspx"/>
Ваша пользовательская страница может отображать несколько хороших сообщений, а также, что важно, предлагать «страницы», если в вашей базе данных есть похожие страницы. Вы можете попросить пользователя отправить отзыв, а также показать несколько полезных ссылок, которые привлекут внимание зрителей.
Заключение
Ошибки неизбежны, и они неизбежны, поскольку они заложены в нашей ДНК. Машины и их приложения были разработаны людьми, которые также не застрахованы от ошибок. Но необходимо, чтобы мы профессионально справлялись с этими ситуациями, не создавая суеты, и предоставляли достоверную информацию нашим уважаемым пользователям.
← ПредыдущийСледующий →
Конфигурация агента .NET | Документация New Relic
Вы сможете настроить наш агент .NET в соответствии с вашей средой после создания учетной записи New Relic (это бесплатно и навсегда) и установки агента .NET.
Обзор конфигурации
Параметры конфигурации агента APM позволяют управлять некоторыми аспектами поведения агента. Некоторые из этих параметров конфигурации являются частью основного процесса установки (например, установка лицензионного ключа и имени приложения), но большинство из них представляют собой более сложные настройки, такие как установка уровня журнала, настройка доступа к прокси-серверу, исключение определенных атрибутов и включение распределенного доступа. отслеживание.
Агент .NET получает свою конфигурацию из файла newrelic.config
, который создается как часть процесса установки. По умолчанию создается только глобальный файл newrelic.config
, но вы также можете создавать локальные файлы newrelic. config
для более точного управления системой с несколькими приложениями. Другие способы установки параметров конфигурации включают в себя: использование переменных среды или настройку конфигурации на стороне сервера из пользовательского интерфейса. Дополнительные сведения о различных параметрах конфигурации и о том, что имеет приоритет над чем, см. в разделе Приоритет параметров конфигурации.
Для поддержки .NET Framework и .NET Core используются одни и те же параметры конфигурации и функции APM, если не указано иное.
Если вы вносите изменения в файл конфигурации и хотите убедиться, что он имеет правильный формат, вы можете сравнить его с файлом XSD (например, по адресу C:\ProgramData\New Relic\.NET Agent\newrelic.xsd
для Windows) с любым средством проверки XSD.
Важно
Для IIS : после изменения newrelic.config
или app.config
, выполните IISRESET
из административной командной строки. Корректировки уровня журнала не требуют сброса.
Методы настройки и уровни приоритета
После установки файл конфигурации агента .NET ( newrelic.config
) применяется ко всем отслеживаемым приложениям, но вы можете настроить агент другими способами. Вот диаграмма, показывающая, как разные параметры конфигурации имеют приоритет друг над другом:
На этой диаграмме объясняется порядок приоритета различных способов настройки агента .NET.
Here are details about the configuration methods shown in the diagram, and their precedence levels:
.NET configuration | Details and precedence |
---|---|
| Параметры конфигурации, установленные в этих файлах, имеют наивысший приоритет. Однако, если агент отключен в локальном или глобальном |
Переменные среды | Второй по старшинству. Дополнительные сведения см. в разделе Переменные среды .NET. |
Конфигурация на стороне сервера | Третий по старшинству. Доступно ограниченное количество параметров конфигурации на стороне сервера; другие настройки будут поступать из других источников конфигурации. |
App-local | Четвертый по старшинству. Вы можете создать файлы app-local Агент ищет локальные файлы конфигурации приложения в следующих каталогах в следующем порядке:
|
По умолчанию (глобальный) | Источник по умолчанию и самый низкий приоритет. Настроит все приложения на хосте при отсутствии других файлов конфигурации. Глобальный файл конфигурации находится в домашнем каталоге агента New Relic: |
Требуемые переменные среды
Наш агент .NET полагается на переменные среды, чтобы сообщить . NET Common Language Runtime (CLR) о присоединении New Relic к вашим процессам. Некоторые процедуры установки агента .NET (например, установщик MSI) автоматически устанавливают эти переменные; некоторые процедуры потребуют от вас ручной установки.
Предостережение
Рекомендация по безопасности. Следует учитывать, какие пользователи могут устанавливать системные переменные среды. Вы также должны защитить учетные записи, под которыми выполняются ваши приложения, чтобы переменные среды пользователя не переопределяли системные переменные среды 9.0003
Для .NET Framework требуются следующие переменные:
COR_ENABLE_PROFILING=1 COR_PROFILER={71DA0A04-7777-4EC6-9643-7D28B46A8A41} NEWRELIC_INSTALL_PATH= путь\к\агенту\каталогу
Программа установки агента Windows .NET добавит их в IIS по умолчанию или в качестве общесистемных переменных среды при включении Инструмент Все
.
При использовании установщика агента Windows .NET убедитесь, что для параметра NEWRELIC_INSTALL_PATH
установлено значение . C:\Program Files\New Relic\.NET Agent\
. Здесь в системе размещаются библиотеки DLL агента.
При установке агента с помощью пакета Nuget агенту требуется другой набор переменных среды.
Для .NET Core требуются следующие переменные:
Linux:
CORECLR_ENABLE_PROFILING=1 CORECLR_PROFILER={36032161-FFC0-4B61-B559-F6C5D41BAE5A} CORECLR_NEWRELIC_HOME= путь/к/агенту/каталогу CORECLR_PROFILER_PATH="${CORECLR_NEWRELIC_HOME}/libNewRelicProfiler.so"
Windows:
CORECLR_ENABLE_PROFILING=1 CORECLR_PROFILER={36032161-FFC0-4B61-B559-F6C5D41BAE5A} NEWRELIC_INSTALL_PATH= путь\к\агенту\каталогу CORECLR_NEWRELIC_HOME= путь\к\агенту\каталогу
Программа установки агента Windows .NET добавит их в IIS по умолчанию или в качестве общесистемных переменных среды при включении Инструмент Все
. Исключение: CORECLR_ENABLE_PROFILING
необходимо установить вручную, чтобы инструментировать приложения . NET Core, размещенные не в IIS. Для получения дополнительной информации см. нашу документацию по установке.
При установке агента через пакет Nuget в Windows для агента требуется другой набор переменных среды.
При использовании установщика агента Windows .NET:
- Убедитесь, что для
NEWRELIC_INSTALL_PATH
установлено значениеC:\Program Files\New Relic\.NET Agent\
. Здесь в системе размещаются библиотеки DLL агента. - Убедитесь, что для
CORECLR_NEWRELIC_HOME
установлено значениеC:\ProgramData\New Relic\.NET Agent\
. Здесь в системе существуют конфигурация и журналы.
Если в вашей системе ранее использовались службы мониторинга (не New Relic), у вас может возникнуть «конфликт профилировщика» при попытке установить и использовать агент New Relic. Дополнительные сведения:
Агенты .NET New Relic полагаются на переменные среды, чтобы сообщать среде CLR .NET о загрузке New Relic в ваши процессы. Переменные среды, связанные с установкой, являются переменными Microsoft, а не переменными New Relic. Они могут использоваться другими профилировщиками .NET, и только один профилировщик может быть присоединен к процессу одновременно. По этой причине, если вы использовали предыдущие продукты мониторинга приложений, у вас могут возникнуть конфликты профилировщика.
Конкретные инструкции по установке см. в документации по установке агента .NET.
Необязательные переменные среды
Некоторые параметры конфигурации в агенте New Relic .NET можно задать с помощью переменных среды в качестве альтернативы их настройке в файле конфигурации. Ниже приведен список переменных среды, распознаваемых агентом .NET, с примерами значений.
NEW_RELIC_LICENSE_KEY=XXXXXXXX NEW_RELIC_LOG=MyApp.log NEW_RELIC_APP_NAME=Описательное имя MAX_TRANSACTION_SAMPLES_STORED=500 MAX_EVENT_SAMPLES_STORED=500 NEW_RELIC_DISTRIBUTED_TRACING_ENABLED=истина NEW_RELIC_SPAN_EVENTS_ENABLED=ложь NEW_RELIC_SPAN_EVENTS_MAX_SAMPLES_STORED=2000 NEW_RELIC_LABELS=foo:bar;zip:zap NEW_RELIC_PROXY_HOST=имя хоста NEW_RELIC_PROXY_URI_PATH=путь. к/что-то.aspx NEW_RELIC_PROXY_PORT=5000 NEW_RELIC_PROXY_USER=мое имя пользователя NEW_RELIC_PROXY_PASS=XXXXXXXX NEW_RELIC_PROXY_DOMAIN=mydomain.com NEW_RELIC_PROXY_PASS_OBFUSCATED=XXXXXXXX NEW_RELIC_CONFIG_OBSCURING_KEY=XXXXXXXX NEW_RELIC_DISABLE_SAMPLERS=истина NEWRELIC_PROFILER_LOG_DIRECTORY= путь\к\а\каталогу (не настраивается через конфигурационный файл) NEWRELIC_LOG_DIRECTORY= путь\к\a\каталог (Вставьте каталог, в который вы хотите поместить журналы агента и профилировщика. Вы не можете указать этот каталог для обоих журналов агента и профилировщика в файле конфигурации.) NEWRELIC_LOG_LEVEL= выключено|ошибка|предупреждение|информация|отладка|лучшее|все NEW_RELIC_APPLICATION_LOGGING_ENABLED=истина NEW_RELIC_APPLICATION_LOGGING_METRICS_ENABLED=истина NEW_RELIC_APPLICATION_LOGGING_FORWARDING_ENABLED=false NEW_RELIC_APPLICATION_LOGGING_FORWARDING_MAX_SAMPLES_STORED=10000 NEW_RELIC_APPLICATION_LOGGING_LOCAL_DECORATING_ENABLED=false NEW_RELIC_ALLOW_ALL_HEADERS=истина NEW_RELIC_ATTRIBUTES_ENABLED=истина NEW_RELIC_ATTRIBUTES_INCLUDE=request. headers.*,foo.bar NEW_RELIC_ATTRIBUTES_EXCLUDE=request.headers.cookie,request.headers.authorization NEW_RELIC_UTILIZATION_DETECT_AWS= правда|ложь NEW_RELIC_UTILIZATION_DETECT_AZURE= истина|ложь NEW_RELIC_UTILIZATION_DETECT_GCP= истина|ложь NEW_RELIC_UTILIZATION_DETECT_PCF= истина|ложь NEW_RELIC_UTILIZATION_DETECT_DOCKER= истина|ложь NEW_RELIC_UTILIZATION_DETECT_KUBERNETES= истина|ложь NEW_RELIC_FORCE_NEW_TRANSACTION_ON_NEW_THREAD= истина|ложь NEW_RELIC_CODE_LEVEL_METRICS_ENABLED= истина|ложь NEW_RELIC_SEND_DATA_ON_EXIT= истина|ложь NEW_RELIC_SEND_DATA_ON_EXIT_THRESHOLD_MS= 2000
Если вы используете New Relic CodeStream для мониторинга производительности из вашей IDE, вы также можете связать репозитории со своими службами и связать SHA сборки или теги выпуска с ошибками.
Параметры установки, newrelic.config
Используйте эти параметры для установки и настройки агента с помощью файла newrelic. config. Агент .NET поддерживает следующие категории параметров настройки:
- Элемент конфигурации
- Service element
- Obscuring key element
- Proxy element
- Log element
- Application element (configuration)
- Data transmission element
- Host name
Configuration element
The root element of the configuration document is a элемент конфигурации
.
agentEnabled="true"
maxStackTraceLines="50">
The configuration
element supports the following attributes:
Type | Boolean |
---|---|
Default | |
Enable or disable the New Реликтовый агент.
Тип | Целое число |
---|---|
По умолчанию | |
Максимальное количество кадров стека для трассировки в любом дампе стека.
Сервисный элемент
Первый дочерний элемент конфигурации
— это сервисный элемент
. Элемент службы настраивает подключение агента к службе New Relic.
The service
element supports the following attributes:
Type | String |
---|---|
Default | (none) |
Your New Relic license key. New Relic использует лицензионный ключ для сопоставления данных вашего приложения с правильной учетной записью в пользовательском интерфейсе. Установите лицензионный ключ через переменную среды.
В качестве альтернативы установите NEW_RELIC_LICENSE_KEY
переменная среды в среде приложения.
NEW_RELIC_LICENSE_KEY= XXXXXXXX
Type | Boolean |
---|---|
Default | |
Instructs the agent to record execution environment information. Информация о среде включает операционную систему, версию агента и доступные сборки.
Type | Boolean |
---|---|
Default | |
Block application startup until the agent connects to New Relic. Если установлено значение true
, первая транзакция может занять значительно больше времени, поскольку она будет заблокирована до завершения подключения к New Relic.
Тип | BOOLEAN |
---|---|
По умолчанию | |
Заключение блока, в то время как агент инициирует все данные Harvest, и присваивает все данные.
Можно также установить переменную среды NEW_RELIC_SEND_DATA_ON_EXIT
в среде приложения.
NEW_RELIC_SEND_DATA_ON_EXIT= истина|ложь
Type | Integer |
---|---|
Default | |
Unit | Milliseconds |
The minimum amount of time the process must run before the агент блокирует его от закрытия. Этот параметр применяется только в том случае, если sendDataOnExit
равно true
.
В качестве альтернативы установите NEW_RELIC_SEND_DATA_ON_EXIT_THRESHOLD_MS
переменная среды в среде приложения.
NEW_RELIC_SEND_DATA_ON_EXIT_THRESHOLD_MS= 2000
Type | Boolean |
---|---|
Default | |
If false, the agent uses a pool thread to complete обработка транзакции.
Если true, агент завершит обработку транзакции в потоке запроса.
Тип | Boolean | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Дефолт | | Если задано значение true, агент пытается создать новые транзакции, когда в асинхронных/поточных сценариях встречаются настраиваемые инструментальные методы. Кроме того, для управления этим поведением можно использовать переменную среды NEW_RELIC_FORCE_NEW_TRANSACTION_ON_NEW_THREAD= true|false
Тайм-аут запроса агента при общении с New Relic.
Automatically start the .NET agent when the first instrumented method is hit. Элемент скрытого ключа Элемент
Скрывающий ключ также можно настроить, установив параметр ПредостережениеРекомендация по безопасности: Размещение скрывающего ключа в том же файле конфигурации, что и замаскированное значение, может представлять угрозу безопасности. Рассмотрите возможность размещения маскирующего ключа и скрытого прокси-пароля в переменных среды и ограничения доступа к переменным среды в вашей среде. Прокси-элемент Прокси-элемент
The
Defines the прокси хост. В качестве альтернативы можно установить переменную среды
При необходимости укажите путь URI прокси-сервера. В качестве альтернативы можно установить переменную среды
Optionally define a domain to use when authenticating with the proxy server. В качестве альтернативы установите
Для дополнительной безопасности агент . NET поддерживает использование скрытого пароля прокси-сервера с атрибутом passwordObfuscated. Обфусцированный пароль прокси-сервера создается с помощью следующей команды New Relic CLI:
В качестве альтернативы можно установить переменную ВажноПри использовании скрытого пароля прокси-сервера также необходимо настроить ключ сокрытия. Элемент журнала Элемент журнала <уровень журнала = "информация" аудитлог = "ложь" консоль = "ложь" directory=" ПУТЬ\ДО\ЖУРНАЛА\КАТАЛОГА " fileName=" FILENAME. log " /> The
Определяет уровень детализации, записываемой в файл журнала. Возможные значения в порядке возрастания детализации:
Записи все данные и полученные из New Relic в Audlog в Fore Fore Audlog в обоих реле.
|