运维部落

首页 > Windows, 解决方案 > 宝塔面板iis申请免费证书运行时错误_错误信息:The ACME server was probably unable to reach

宝塔面板iis申请免费证书运行时错误_错误信息:The ACME server was probably unable to reach

2022年6月5日

最近在使用宝塔自带的Let’s Encrypt的IIS所在windows环境上安装配置免费SSL证书时,出现ssl申请失败的提示。前期怎么设置文件访问下载之类的后辍也不行。后面查了一下原因是可以按以下步骤解决。希望对大家有用。

原因是Let’s Encrypt会首先尝试对IIS站点进行有效性验证。

其基本过程为:

1) 接收用户输入的主机名,如www.test.com
2) 接收用户输入的站点根目录的全路径,如c:\wwwroot
3) 尝试在站点根目录下创建.well-known目录并在该目录生成一个文件,文件内容为一串随机字符串,Let’s Encrypt官网会尝试访问此随机字符串。如果访问成功,则站点验证成功。

由于当IIS的MIME类型未对该随机文件设定处理程序时,会出现如下的错误:

The ACME server was probably unable to reach http://www.test.com/.well-known/acme-challenge/xxx(随机字符串)

这个是因为IIS未指定对没有后缀名的文件进行何种处理,所以直接访问此随机文件,会提示错误。
打开IIS的详细错误报告后,根据不同错误提示,可以有以下不同的解决方法

一、错误1:

HTTP 错误 404.17 – Not Found

请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。

解决方法:

1) 打开IIS管理器,选择Web服务器。
2) 选择右侧 处理程序映射
3) 点击右上角菜单 查看经过排序的列表
4) 列表最下方有个StaticFile的处理程序,将其移动到3个ExtensionlessUrlHandler的上方。

5) 重启IIS服务。

二、错误2:

HTTP 错误 404.3 – Not Found

由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。

解决方法:

1) 打开IIS管理器,选择Web服务器。
2) 选择右侧 MIME类型
3) 新增MIME类型,扩展名:*, 类型:application/octet-stream。
4) 重启IIS服务。

若以上方法都无法解决问题,则可以尝试恢复处理程序映射:

1) 打开IIS管理器,选择Web服务器。
2) 选择右侧 处理程序映射
3) 点击 恢复为父项
4) 重启IIS服务。

以上是解决的具体办法,亲测有效。

本文的评论功能被关闭了.