"Запрещенная" ошибка при удаленном доступе к elmah.axd через HTTPS в ASP.NET WebForms
Я пытаюсь интегрировать ELMAH в приложение webforms. По причинам, которые я не могу изменить, все приложение должно быть доступно только через HTTPS.
Приложение работает, но мы не можем получить доступ к файлу журнала ELMAH удаленно. Я следовал этим инструкциям, чтобы разрешить удаленный доступ без успеха.
Это связанная конфигурация в настоящее время в производственном файле web.config:
<configuration>
<configSections>
<sectionGroup name="elmah">
<section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah" />
<section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah" />
<section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah" />
<section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah" />
</sectionGroup>
</configSections>
<elmah>
<security allowRemoteAccess="yes" requirePermission="false" />
<errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data" />
</elmah>
<system.web>
<httpModules>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
</httpModules>
<httpHandlers>
<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
</httpHandlers>
Есть ли что-нибудь еще, что я мог сделать? Кто-нибудь знает, есть ли какое-то ограничение в доступе к файлу журнала ELMAH через HTTPS?
Обратите внимание, что в настоящее время мы используем IIS 6.0 и.NET Framework 2.0.
2 ответа
- Поместите простой HTML-файл в тот же каталог.
- Попробуйте получить доступ к этому файлу.
Если вы не можете получить доступ к этому файлу, это проблема с правами доступа к каталогу. Поскольку нет физического файла axd, для него нет никаких разрешений, поэтому я склонен думать о безопасности каталогов.
Я не думаю, что это имеет какое-либо отношение к SSL - 403 означает "у вас нет доступа к этому элементу"... это не должно иметь ничего общего с безопасностью транспорта. То есть, если он не работал нормально, пока вы не включили SSL.
Вы также можете проверить права на выполнение в каталоге... разрешить все (чтение, запись, выполнение) и посмотреть, имеет ли это значение.
Решение: в вашем конфигурационном файле: измените 0 на 1
<security allowRemoteAccess="0" />
в
<security allowRemoteAccess="1" />
который работает как шарм.
Наслаждаться!!