[网站运维] 获取免费好用的 Lets Encrypt HTTPS 证书

Vincy云昔 发布于 2024-07-24 1255 次阅读


Let's Encrypt 是一款免费的SSL证书品牌,相信各位使用宝塔面板的同学对此早已有所了解。然而,由宝塔面板的 Let's Encrypt 证书申请程序存在诸多弊端,例如无法申请泛域名证书、无法为多个站点配置同一份证书等。本文就为手动创建 Let's Encrypt SSL证书作简单介绍,并就我在实际使用过程中遇到的部分问题及解决方法进行分享。

对于手动申请 Let's Encrypt 证书,你首先想到的方法可能是前往其官网 Let's Encrypt (letsencrypt.org) 进行操作。但事实上,来自官网的证书需要通过在服务器上安装应用来部署,只能说大可不必。在这里推荐 Let's Encrypt 证书在中国大陆的一家代理商 来此加密 - Let’s Encrypt 在线免费申请SSL证书 (letsencrypt.osfipin.com),你可以通过这个网站来申请 Let's Encrypt 证书。

申请 Let's Encrypt 证书

打开 letsencrypt.osfipin.com,点击 "立即开始" 并完成注册。

注册完成之后将会打开使用指引页面。你可以从这里进入推荐页面并填入推荐码。注册并完成第一次证书申请后,你和推荐者均可获得 5 积分。这个积分将会十分有用 (可以用于兑换短信提醒次数和独立通道)。

我的推荐码是 Q6J70E4R请让我捞点。

在此之后,你就可以前往主页并按照提示申请 Let's Encrypt 证书。支持申请最多包含 2 个域名的多域名以及泛域名证书,当然你也可以通过 打 (ke) 赏 (jin) 的方式将这个上限提升至 16 条。

自动验证与自动重申

来此加密提供了自动配置域名验证的功能,你可以在申请过程中选择。你可以通过其中一种方式将你的域名验证托管到来此加密,然后你只需要等待来此加密替你完成验证即可。在首次申请时可能很难体会到这么做的好处,但是当你续签证书时你就会发现你不再需要访问你的 DNS 服务商,只要到来此加密的网站上点击续签即可。

如果你认为重申依然需要等待,你还可以选择自动重申。它可以在你的域名到期 14 天前自动为你准备好新的证书,届时你只需要登录网站即可直接获取,无需等待。

补全证书链

截止目前,Let's Encrypt 证书虽然获得了绝大多数服务商和软件商的认可,但它事实上仍然是一款二级签发的证书。为了方便使用,Let's Encrypt 签发的证书公钥链略去了它的根证书 (ISRG Root X1)。这不会影响大多数浏览器和服务器对 Let's Encrypt 证书的识别,但某些对安全要求较为严格的服务商 (例如华为云) 会对不完全的证书链报错。你只需要在公钥链末尾补全 ISRG Root X1 的公钥即可。

你只需要在完整证书链末尾 (一般位于 fullchain.crt) 添加一下文本 (获取于 2024 年 7 月 15 日):

-----BEGIN CERTIFICATE-----
MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4
WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu
ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY
MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc
h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+
0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U
A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW
T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH
B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC
B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv
KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn
OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn
jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw
qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI
rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq
hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL
ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ
3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK
NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5
ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur
TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC
jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc
oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq
4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA
mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d
emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=
-----END CERTIFICATE-----

之后,你就可以按照相关教程正常部署 Let's Encrypt SSL 证书了。

关于免费证书的安全性

这么香的证书竟然不要钱,那么它安全吗?

我可以明确告诉你,如果你开设的是盈利性网站、大型业务、关键业务或者高风险业务,那么你必须要明白,任何免费证书都是不安全的。

SSL 证书之所以十分昂贵,正是因为证书签发商 (CA) 在签发时需要验明主体,并基于其公信力对被签发主体的真实性进行担保。免费 SSL 证书的签发商显然不会做这些,除非有特殊承诺,他们不会对你的安全性做任何担保,他们仅仅是让你用上 https 协议而已。

但是,如果你的业务仅仅是一个人畜无害的个人网站,那你大可选择免费证书,要什么自行车。