nginx-proxy-manager在线申请证书
本文可以作為 『 反向代理服務(wù)器nginx-proxy-manager 』的續(xù)篇。
在寫『 反向代理服務(wù)器nginx-proxy-manager 』時(shí),證書部分老蘇又偷了一次懶,只說了導(dǎo)入已有證書,今天我們把它補(bǔ)全一下,來說說在線 SSL 證書申請(qǐng)
老蘇曾經(jīng)說過,每次偷懶,最后都要花更多的時(shí)間來填坑 😂
NPM(Nginx Proxy Manager) 支持從 Let’s Encrypt 獲得證書,但需要驗(yàn)證你對(duì)證書中域名的控制權(quán),也就是說你要能證明,這個(gè)域名是屬于你的。
驗(yàn)證方式
NPM 中 Let’s Encrypt 證書申請(qǐng)有兩種驗(yàn)證方式:一種是基于 HTTP 的驗(yàn)證方式,另一種是基于 DNS 的驗(yàn)證方式。
HTTP-01 驗(yàn)證
關(guān)于 HTTP-01 驗(yàn)證的詳細(xì)描述可以看官方文檔:https://letsencrypt.org/zh-cn/docs/challenge-types/#http-01-%E9%AA%8C%E8%AF%81
這種方式最簡(jiǎn)單,不需要任何關(guān)于域名配置的額外知識(shí),但是必須使用 80 端口,絕大部分人可能用不了,所以這里就不說了。
DNS-01 驗(yàn)證
關(guān)于 DNS-01 驗(yàn)證的詳細(xì)描述可以看官方文檔:https://letsencrypt.org/zh-cn/docs/challenge-types/#dns-01-%E9%AA%8C%E8%AF%81
此驗(yàn)證方式要求您在該域名下的 TXT 記錄中放置特定值來證明您控制域名的 DNS 系統(tǒng),這需要您的 DNS 提供商提供 API。
準(zhǔn)備工作
這里我們假設(shè):
- 你有域名;
- 而且已經(jīng)正確的做了 DNS 泛解析,也就是使用通配符 * 來匹配所有的子域名;
- 域名已可以正常使用;
DNS 提供商(DNS Provider)不同,會(huì)影響 Credentials File Content
你如果選擇 Aliyun
和選擇 DNSPod,Credentials File Content 部分的參數(shù)是不一樣的
下面老蘇以自己使用的 DNSPod 來舉例,如果你用的和老蘇不同,還需要根據(jù)自己的 DNS Provider 來改變,原理應(yīng)該是差不多的
申請(qǐng) API
打開頁面 https://console.dnspod.cn/account/token/token,找到 DNSPod Token,然后點(diǎn) 創(chuàng)建秘鑰
起個(gè)名字,便于識(shí)別
秘鑰只顯示一次,記得保存好
配置 NPM
找到 Let’s Encrypt 按鈕
默認(rèn)是 HTTP 驗(yàn)證,需要啟用 Use a DNS Challenge 才是 DNS 驗(yàn)證
參數(shù)說明:
- Domain Names :這里申請(qǐng)的是泛域名,所以用了 *.laosu.ml,這樣不用為每個(gè) Proxy Host 去申請(qǐng)證書;
- Email Address for Let's Encrypt:如果你之前申請(qǐng)過 Let's Encrypt 的證書,這里要跟之前的郵件一致;這個(gè)郵件地址可以改,但是似乎改起來比較麻煩;
- Use a DNS Challenge:必需要啟用,才能使用 DNS 驗(yàn)證模式;
- DNS Provider:老蘇用的是 DNSPod;
- Credentials File Content :
- dns_dnspod_email = "email@example.com",這里的郵件地址是你綁定 DNSPod 的郵箱,可以從 DNSPod 中的個(gè)人賬號(hào)中查到;
- dns_dnspod_api_token = "id,key",前面申請(qǐng)的 ID 和 Token,需要用這兩個(gè)字段來組合成一個(gè)完整的 Token,組合方式為:"ID,Token"(用英文半角逗號(hào)分割),比如 ID 為:334490,ToKen 為:eb5976c68aba5b14a0558b77c17c39ba。即完整的 Token 為:334490,eb5976c68aba5b14a0558b77c17c39ba 。得到完整的 Token 之后,替換掉 dns_dnspod_api_token = "id,key" 后面的部分
- Propagation Seconds:留空即可;
- I Agree to the Let's Encrypt Terms of Service:必須要同意;
點(diǎn) save 保存
最后一行可以看到 SSL 證書已經(jīng)申請(qǐng)完成,有效期3個(gè)月,到期會(huì)自動(dòng)續(xù)期。
你也可以直接手動(dòng) Renew Now
參考文檔
驗(yàn)證方式 - Let’s Encrypt - 免費(fèi)的SSL/TLS證書
地址:https://letsencrypt.org/zh-cn/docs/challenge-types/
密鑰管理 - DNSPod 服務(wù)與支持
地址:https://docs.dnspod.cn/account/dnspod-token/
DNS 解析 DNSPod 泛解析說明-操作指南-文檔中心-騰訊云
地址:https://cloud.tencent.com/document/product/302/9073
總結(jié)
以上是生活随笔為你收集整理的nginx-proxy-manager在线申请证书的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QuickIndex 通讯录快速检索
- 下一篇: uni-app看图项目开发中遇到的小问题