按照此指导对于 Windows 安装,我尝试使用 webroot 方法,从提升的 cmd shell 进行安装:
C:\WINDOWS\system32> certbot certonly --webroot
该命令因未授权错误而失败,因为 IIS 不会公开.well-known
由certbot
工具创建的隐藏文件夹。
我在 Windows 服务器上运行 IIS 8.5。
如何在 IIS 中启用隐藏文件夹?
答案1
尽管 certbot 返回的错误表明type:unauthorized
,并且 certbot 指南中警告有关 IIS 可能如何区别对待隐藏文件夹,但真正的问题是 IIS 默认不提供没有扩展名的文件。
letencrypt 服务器尝试访问的路径如下:
http://mydmain/.well-known/acme-challenge/<token>
其中没有文件扩展名。
要让 IIS 提供没有扩展名的文件,他需要知道这些文件的内容类型。要告诉他,请将以下 mimemap 设置添加到 web.config 文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension="." mimeType="text/xml" />
</staticContent>
</system.webServer>
</configuration>
为了防止您的网站暴露不想要的内容,请将包含该内容的 web.config 文件添加到.well-know
文件夹中
在再次运行 certbot 之前,尝试访问该文件夹中的一些没有扩展名的文件。