我有一台专用的Apache服务器,只能从我的LAN上的端口443上通过StartSSL证书访问。
自Firefox 51发布以来,由于已从信任库中删除了StartSSL根证书,因此我无法再连接到它。
我考虑过迁移到“让我们加密”,但是这似乎需要面向公众的HTTP服务器。在我的情况下可以使用“让我们加密”吗?
如果可能的话,我宁愿避免支付SSL证书的费用。
我有一台专用的Apache服务器,只能从我的LAN上的端口443上通过StartSSL证书访问。
自Firefox 51发布以来,由于已从信任库中删除了StartSSL根证书,因此我无法再连接到它。
我考虑过迁移到“让我们加密”,但是这似乎需要面向公众的HTTP服务器。在我的情况下可以使用“让我们加密”吗?
如果可能的话,我宁愿避免支付SSL证书的费用。
Answers:
如果控制域的DNS,则可以使用dns-01质询方法通过创建TXT记录来证明所有权。
这可以手动或自动完成。我认为即使是官方certbot客户端现在也支持dns-01。
一个快速的Google向我展示了一堆使用各种脚本和客户端的教程,因此在此不再赘述。这是专门使Intranet证书自动化的工具。
certbot客户端可以执行手动DNS质询。此问题中的(当前第二受欢迎的)答案如何使用“让我们加密DNS挑战验证”?包含所有细节,我刚刚对其进行了测试。
基本上,您运行此命令并按照说明进行操作:
certbot -d site.your.dom.ain --manual --preferred-challenges dns certonly
您提到您正在使用Apache,但是,如果未绑定到Apache,则可以使用Caddyserver轻松完成。
您只需在其中定义Caddyfile
以下内容:
example.com
tls {
dns cloudflare
}
在配置中提及您正在使用的DNS提供程序,并通过环境变量配置您使用的API密钥。从docs支持的提供程序列表中抽取。
这就是所需要的。第一次启动的输出将类似于:
Activating privacy features... 2019/10/21 13:36:48 [INFO][cache:0xc0001c8190] Started certificate maintenance routine
[INFO][cache:0xc000092730] Started certificate maintenance routine
2019/10/21 13:24:49 [INFO][example.com] Obtain certificate
2019/10/21 13:24:49 [INFO] [example.com] acme: Obtaining bundled SAN certificate
2019/10/21 13:24:50 [INFO] [example.com] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/876706285
2019/10/21 13:24:50 [INFO] [example.com] acme: Could not find solver for: tls-alpn-01
2019/10/21 13:24:50 [INFO] [example.com] acme: Could not find solver for: http-01
2019/10/21 13:24:50 [INFO] [example.com] acme: use dns-01 solver
2019/10/21 13:24:50 [INFO] [example.com] acme: Preparing to solve DNS-01
2019/10/21 13:24:50 [INFO] cloudflare: new record for example.com, ID XXX
2019/10/21 13:24:50 [INFO] [example.com] acme: Trying to solve DNS-01
2019/10/21 13:24:50 [INFO] [example.com] acme: Checking DNS record propagation using [127.0.0.11:53]
2019/10/21 13:24:50 [INFO] Wait for propagation [timeout: 2m0s, interval: 2s]
2019/10/21 13:24:50 [INFO] [example.com] acme: Waiting for DNS record propagation.
2019/10/21 13:24:52 [INFO] [example.com] acme: Waiting for DNS record propagation.
2019/10/21 13:24:55 [INFO] [example.com] The server validated our request
2019/10/21 13:24:55 [INFO] [example.com] acme: Cleaning DNS-01 challenge
2019/10/21 13:24:55 [INFO] [example.com] acme: Validations succeeded; requesting certificates
2019/10/21 13:24:56 [INFO] [example.com] Server responded with a certificate.
done.
Serving HTTPS on port 443
https://example.com
2019/10/21 13:36:48 [INFO] Serving https://example.com
Serving HTTP on port 80
http://example.com
2019/10/21 13:36:48 [INFO] Serving http://example.com