在ASP.NET WebForms中通过HTTPS远程访问elmah.axd时出现“禁止”错误

时间:2011-01-14 19:12:40

标签: asp.net webforms .net-2.0 iis-6 elmah

我正在尝试将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。

2 个答案:

答案 0 :(得分:10)

解决方案: 在您的配置文件中: 将0更改为1

<security allowRemoteAccess="0" />

<security allowRemoteAccess="1" />

就像魅力一样。

享受!!

答案 1 :(得分:2)

  1. 将一个简单的html文件放在同一目录中。
  2. 尝试访问该文件。
  3. 如果您无法访问该文件,则是目录权限问题。因为没有物理的axd文件,所以它本身没有权限,所以我倾向于认为目录安全。

    我认为这与SSL无关 - 403意味着“您不允许访问此项目”......这与传输安全性无关。也就是说,除非它正常工作,否则直到你打开SSL。

    您还可以检查目录的执行权限...允许所有内容(读取,写入,执行),看看是否会产生影响。