Discourse 重複安裝過程當中的密鑰簽發問題

近期由於對服務器的平臺進行切換和升級,在數據備份恢復的時候出現了很多問題,所以就進行了很多次數的重複安裝。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 天后才能再次申請。安全

 

Discourse-ca-01

 

解決辦法

若是你也遇到了上面的問題的話,解決辦法有 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

 

https://www.ossez.com/t/discourse/551

相關文章
相關標籤/搜索