让我们在 IIS 上加密确认不起作用

Rem*_*emy 5 iis lets-encrypt

我正在尝试使用 Certify SSL Manager 在我的 IIS 服务器上配置来自 Let's Encrypt 的 SSL 证书,但它在检查过程中失败。

https://dev.mywebsite.com/.well-known/acme-challenge/configcheck/

这有效:
https : //dev.mywebsite.com/well-known/acme-challenge/configcheck https://dev.mywebsite.com/.well-known/acme-challenge/test.txt

所以我假设它是 . 众所周知之前。但是 test.txt 有效的事实让我感到困惑。

我已经根据这个讨论配置了目录:https : //github.com/ebekker/ACMESharp/issues/15

我的 web.config 中有一堆重写的东西,但即使我完全删除了该部分,它仍然失败。

更新:
@Paul0515 建议与此相结合似乎解决了这个问题

public static void RegisterRoutes(RouteCollection routes)
{
    //this is for the "Let's Encrypt" SSL confirmation
    routes.IgnoreRoute(".well-known/");
}
Run Code Online (Sandbox Code Playgroud)

Pau*_*515 4

也许检查 acme-challenge web.config 的处理程序部分中是否包含冲突。为此,请打开 IIS 管理器,找到 acme-challenge 文件夹,然后双击处理程序映射图标。就我而言,这导致了错误。

我在 acme-challenge 文件夹中的默认 web.config 中遇到的问题是 applicationhost.config 包含:

<section name="handlers" overrideModeDefault="Deny" />
Run Code Online (Sandbox Code Playgroud)

因此,acme-challenge web.config 中的处理程序部分是不允许的,结果是挑战失败。在这种情况下,解决方案是: 将 applicationhost.config 行更改为:

<section name="handlers" overrideModeDefault="Allow" />
Run Code Online (Sandbox Code Playgroud)

或者...从 acme-challenge 文件夹中的 web.config 中删除处理程序设置。

applicationhost.config 可以在这里找到:c:\windows\system32\inetsrv\config