【问题标题】:Web.config in subdirectory causing 500 internal server error子目录中的 Web.config 导致 500 内部服务器错误
【发布时间】:2018-06-06 07:01:52
【问题描述】:

我有一个正常工作的 ASP.NET Web 应用程序。我正在尝试使用 Let's Encrypt 启用 SSL,为此我的共享 Web 主机主机 (A2) 在 .well-known/acme-challenge 目录中添加了一个 web.config。 (这个 web.config 所做的只是将无扩展名的文件绑定到纯文本)。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <staticContent>
            <mimeMap fileExtension="." mimeType="text/plain" />
        </staticContent>
    </system.webServer>
</configuration>

问题在于子文件夹中仅存在 web.config 似乎会导致对该文件夹的任何资源请求失败,并返回 500 错误。我什至在这个文件夹中尝试了一个完全空的 web.config,但仍然会导致 500 错误。我的理解是 ASP.NET 应该支持子文件夹中的其他 web.configs,但我不知道为什么它不起作用。

我的根文件夹中有一个 web.config,它为无扩展名文件正确绑定,但 A2 Let's Encrypt 工具坚持将自己的添加到子文件夹中。我没有任何属性阻止在此 web.config 中覆盖。

我已广泛搜索如何解决此问题,但我看到的大多数解决方案都需要更改 IIS 配置。由于这是一个共享的网络主机,我对 IIS 的控制非常有限,所以这不是一个可行的选择。

【问题讨论】:

  • 500错误的子代码是什么?通常只有在错误级别设置为详细时才能看到这一点。但知道它会很快缩小问题范围。
  • 在逐个删除我的根 web.config 的部分后,我发现删除 staticContent 部分允许子文件夹 web.config 正常工作。我不知道为什么这会导致问题,MSDN 文档没有说明它不支持覆盖。

标签: asp.net .net web-config


【解决方案1】:

您能否将其添加到您的根 web.config 中: <customErrors mode="Off" /> ...然后会导致 500 响应中包含更多错误信息?这可以提供一些关于如何正确解决此问题的提示。

【讨论】:

    猜你喜欢
    • 2012-03-29
    • 2015-11-25
    • 2023-03-15
    • 2013-08-11
    • 2014-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-23
    相关资源
    最近更新 更多