【问题标题】:Cloud not access elmah.axd on Azure application云无法访问 Azure 应用程序上的 elmah.axd
【发布时间】:2011-12-06 19:29:57
【问题描述】:

我创建了一个 Web 应用程序并添加了一个 ELMAH 模块来记录错误。它在我的本地开发环境中工作:当我访问 URL http://localhost:52584/elmah.axd 时,它向我显示了一个有效页面:

当我在 azure 门户上上传后对其进行测试时,它会显示一个错误页面:

我需要为 Azure 平台做任何特定的配置吗?

我还在我的 Web 应用程序上完成了表单身份验证,所以当我尝试 elmah.axd 时,它会重定向到登录页面,我需要先登录。我想删除该表单身份验证,特别是对于 elmah.axd。我怎样才能做到这一点?

【问题讨论】:

  • 你能澄清一下吗?如果您登录,ELMAH 是否有效?
  • 另外,请在此处查看:stackoverflow.com/questions/939783/… - 特别是关于远程访问的备注。
  • @JeremyMcGee 现在登录后还是不行,同样的错误

标签: azure elmah form-authentication


【解决方案1】:

nuget 包未将以下重要行添加到 web.config 导致 403 错误。

<elmah>  
    <security allowRemoteAccess="1" />
    <errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/app_data/elmah" />
</elmah>

这应该可以修复 403。 此外,您可能希望通过

限制对错误日志的访问
<add name="Elmah" verb="POST,GET,HEAD" path="/admin/elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />

【讨论】:

  • 我必须把这两行完全放在 web.config 中?
  • 你可以把它放在配置中的任何地方。可能就在最后一个标签之前 .
  • 在添加 2 行 elmah 部分后它可以工作,但我想知道,根据 stackoverflow.com/questions/939783/… 是否有必要将 enableNativeCodeExecution="true" 添加到 azure 项目的 .csdef 文件中?因为我已经使用该设置上传了当前项目
  • 您不需要将 enableNativeCodeExecution 设置为 true,因为这是默认设置(其他 SO 答案来自 2009 年,当时情况有所不同)。请参阅msdn.microsoft.com/en-us/library/windowsazure/dd573353.aspx 了解更多信息。
猜你喜欢
  • 1970-01-01
  • 2023-03-09
  • 2017-11-02
  • 2019-04-15
  • 1970-01-01
  • 2012-03-03
  • 1970-01-01
  • 2018-05-22
  • 2021-01-03
相关资源
最近更新 更多