我正在尝试将ELMAH集成到webforms应用程序中。由于我不允许更改的原因,只能通过HTTPS访问整个应用程序。
应用程序正在运行,但我们无法远程访问ELMAH的日志文件。我已按照this说明进行远程访问,但没有成功。
这是生产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>
还有什么我可以做的吗?有人知道通过HTTPS访问ELMAH的日志文件是否存在某种限制?
请注意,我们目前正在使用IIS 6.0和.NET framework 2.0。
答案 0 :(得分:10)
解决方案: 在您的配置文件中: 将0更改为1
<security allowRemoteAccess="0" />
到
<security allowRemoteAccess="1" />
就像魅力一样。
享受!!
答案 1 :(得分:2)
如果您无法访问该文件,则是目录权限问题。因为没有物理的axd文件,所以它本身没有权限,所以我倾向于认为目录安全。
我认为这与SSL无关 - 403意味着“您不允许访问此项目”......这与传输安全性无关。也就是说,除非它正常工作,否则直到你打开SSL。
您还可以检查目录的执行权限...允许所有内容(读取,写入,执行),看看是否会产生影响。