【问题标题】:Is certificate authorization via HTTPS possible?是否可以通过 HTTPS 进行证书授权?
【发布时间】:2016-04-14 08:42:30
【问题描述】:

我正在使用来自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,但忽略任何证书问题,他将成功找到挑战。

有什么我可以做的、我忽略的任何功能可以帮助我实现自动续订吗?

【问题讨论】:

    标签: automation lets-encrypt


    【解决方案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 质询,它完全独立于您可以使用的端口。

    【讨论】:

    • 在其他服务器的维护者拒绝了我的重定向规则请求后,我选择了选项4并申请了商业证书(我认为有效期为三年)。让我们看看三年后我的选择是什么。
    • 我正在运行相同的设置, :80 和 :443 不指向同一个站点。所以去掉https-verification是我的证书突然更新失败的原因。
    • 奇怪,这只是在此更新周期中启动,但无论如何,我用一个站点到另一个站点的别名修复了它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-01
    • 1970-01-01
    相关资源
    最近更新 更多