是否可以通过HTTPS进行证书授权?

时间:2016-04-14 08:42:31

标签: automation lets-encrypt

我使用来自https://github.com/Lone-Coder/letsencrypt-win-simple的Let's Encrypt IIS客户端为服务器生成证书。由于证书只有三个月有效,我希望它能自动续订。

但我需要自动续订证书的服务器只能绑定到https:|| mysubdomain.mydomain.com:443和smtp:|| mysubdomain.mydomain.com:25。 http:|| mysubdomain.mydomain.com:80和ftp:|| mysubdomain.mydomain.com:21指向不同的服务器。

正如您可能已经猜到的那样,在此过程中抛出的错误是“ACME服务器可能无法访问http:|| mysubdomain.mydomain.com:80 / .well-known / acme-challenge / abcdefgh ... XYZ”。

我完全清楚为什么,但我无法修复它,因为http:|| mysubdomain.mydomain.com必须指向其他服务器。如果ACME服务器尝试https:|| mysubdomain.mydomain.com:443 / .well-known / acme-challenge / abcdefgh ... xyz,但忽略任何证书问题,他将成功找到挑战。

我能做些什么,我忽略了哪些功能,这有助于我实现自动续订工作?

1 个答案:

答案 0 :(得分:1)

有多种选择:

http-01

http://example.com/.well-known/acme-challenge/*重定向到https://example.com/.well-known/acme-challenge/*,Boulder将很乐意遵循任何此类重定向并忽略所提供的证书。如果您可以访问其他服务器并且可以配置该重定向,那么这是最简单的方法。它是一个永久性的重定向,你不必调整,它每三个月就会很好。

直接使用HTTPS的选项已被删除,原因是某些流行的服务器软件出现安全问题,如果某些其他虚拟主机未定义任何HTTP主机,则会使用定义的第一个主机,这可能导致多个错误的发布 - 用户环境又称共享主机。

tls-sni-01

如果您只想使用端口443,则可以使用另一种名为tls-sni-01的质询类型。但我认为还没有支持该挑战类型的Windows客户端。

dns-01

如果您通过简单的API控制DNS,您也可以使用DNS质询,它完全独立于您可以使用的端口。