近期由於對服務器的平臺進行切換和升級,在數據備份恢復的時候出現了很多問題,所以就進行了很多次數的重複安裝。nginx
在後面幾回重複安裝後,發現界面沒法訪問,經過使用命令 ./launcher logs app 查看安裝的日誌後發現 Let’s Encrypt 已經再也不簽發密鑰了。緣由是這個域名申請的密鑰次數太多了。redis
這個對Discourse 的初級或者試驗用戶來講不是很是友好,由於你會有簽發密鑰安裝的限制。docker
日誌內容以下:api
[Sun 04 Oct 2020 04:52:57 AM UTC] Please check log file for more details: /shared/letsencrypt/acme.sh.logError loading file ca.cer [Sun 04 Oct 2020 04:52:58 AM UTC] Using CA: https://acme-v02.api.letsencrypt.org/directory[Sun 04 Oct 2020 04:52:58 AM UTC] Single domain='www.ossez.com'[Sun 04 Oct 2020 04:52:58 AM UTC] Getting domain auth token for each domain[Sun 04 Oct 2020 04:52:58 AM UTC] Create new order error. Le_OrderFinalize not found. { "type": "urn:ietf:params:acme:error:rateLimited", "detail": "Error creating new order :: too many certificates already issued for exact set of domains: www.ossez.com: see https://letsencrypt.org/docs/rate-limits/", "status": 429} [Sun 04 Oct 2020 04:52:58 AM UTC] Please check log file for more details: /shared/letsencrypt/acme.sh.log [Sun 04 Oct 2020 04:52:59 AM UTC] Installing key to:/shared/ssl/www.ossez.com_ecc.key [Sun 04 Oct 2020 04:52:59 AM UTC] Installing full chain to:/shared/ssl/www.ossez.com_ecc.cer cat: /shared/letsencrypt/www.ossez.com_ecc/fullchain.cer: No such file or directoryError loading file ca.cerError loading file ca.cer Started runsvdir, PID is 2115ok: run: redis: (pid 2123) 0s nginx: [emerg] cannot load certificate "/shared/ssl/www.ossez.com.cer": PEM_read_bio_X509_AUX() failed (SSL: error:0909006C:PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE) ok: run: postgres: (pid 2129) 0s chgrp: invalid group: ‘syslog’ rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted. rsyslogd: activation of module imklog failed [v8.1901.0 try https://www.rsyslog.com/e/2145 ] supervisor pid: 2124 unicorn pid: 2150nginx: [emerg] cannot load certificate "/shared/ssl/www.ossez.com.cer": PEM_read_bio_X509_AUX() failed (SSL: error:0909006C:PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE) nginx: [emerg] cannot load certificate "/shared/ssl/www.ossez.com.cer": PEM_read_bio_X509_AUX() failed (SSL: error:0909006C:PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE) nginx: [emerg] cannot load certificate "/shared/ssl/www.ossez.com.cer": PEM_read_bio_X509_AUX() failed (SSL: error:0909006C:PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE) nginx: [emerg] cannot load certificate "/shared/ssl/www.ossez.com.cer": PEM_read_bio_X509_AUX() failed (SSL: error:0909006C:PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE)
經過訪問密鑰簽發機構上面提供的信息瞭解到:Let’s Encrypt 針對一個域名只會在必定時間內簽發 5 次,若是你超過了簽發的次數,你須要 5 天后才能再次申請。安全
若是你也遇到了上面的問題的話,解決辦法有 2 個。服務器
第一就是等 5 天后再去安裝或者進行遷移測試。
第二就是購買使用其餘機構對你域名的簽名證書,通常來講若是你加密 www 和根域名的話仍是很是便宜的。app
若是你是打算比較正式運營你的網站和注重交互和安全的話,推薦使用購買 CA 機構簽發的域名,這樣你能夠進行屢次安裝測試,也不會有任何的密鑰限制問題。dom
咱們就是經過修改使用 CA 機構簽發的域名而完美的解決了這個問題。ide
針對上面的問題,請參考下面提供的安裝方法和使用:post
https://www.ossez.com/t/discourse-lets-encrypt-ca/552
若是你使用 CA 簽名的域名進行安裝的話,請參考官方的說明:https://meta.discourse.org/t/advanced-setup-only-allowing-ssl-https-for-your-discourse-docker-setup/13847