2021年1月27日 星期三

手動申請Let's Encrypt憑證記錄

 前言:

  申請Let's Encrypt憑證的教學很多,而且大部份都是集中在自動結合Apache等網頁伺服器,或是提供憑證申請的平台,但是因為我的主機是利用Synology NAS中的Web服務來供內網使用,所以不想要讓外部網路能連線到NAS,Synology雖然有提供Let's Encrypt服務,但是都會被我的防火牆阻擋,為了不想要讓使用者瀏灠時,出現憑證不安全的訊息,只好自已手動申請了,一開始是用SSL For Free平台,後來跟ZERO SSL合併,ZERO SSL現在一個免費帳號只提供三個網址,之後就得付費,為了省錢(公司應該不會想要付這筆錢),只好自已手動作了

  我是利用Centos7安裝Certbot來處理的,Centos7要先安裝epel-release:

yum install epel-release

  安裝Certbot:

yum install certbot

因為我們公司自已有DNS主機,所以我沒有跟一些有提供Let's Encrypt的DNS服務商利用他們的平台來自動提供驗證,我是用自已的DNS主機作驗證的。

手動產生憑證指令:

certbot -d example.com  --manual --preferred-challenges dns certonly --server https://acme-v02.api.letsencrypt.org/directory

說明一下,-d後面是要輸入你要的網址,你也可以申請萬用字元的網址,那就是*.example.com,

另外要留意的是--preferred-challenges,因為我是要用DNS驗證,所以後面是帶dns,如果你要用別的方式,就不能用dns。

在驗證的過程中,會要你輸入一組Mail,建議就是利用公司的,之後會再有兩個問題,就按Y就好了,之後會出現這個畫面:


這時候要就要把_acme-challenge.example.com這個網址及它的Value值加到DNS Record中:

_acme-challenge.example.com.       IN      TXT     "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

如果你是自架的DNS Server,要記得網址後面的那個(.)點,我之前就常卡死在這。
加完之後,重啟DNS服務就可以作驗證了。重新Reload Dns服務就能驗證了。

systemctl reload named

驗證完之後,它就會在/etc/letsencrypt/live/中產出一個你申請網址的資料夾,裡面就會有你要的憑證檔再自已人工上傳就可以了。

每90天手動更新憑證指令:

certbot certonly -d example.com --manual --preferred-challenges dns


參考網址:
Certbot安裝:https://www.opencli.com/linux/rhel-centos-install-certbot-get-lets-encrypt-certs
Certbot自產憑證指令:https://www.ichiayi.com/wiki/tech/ssl_letsencrypt
Certbot原廠文件:https://certbot.eff.org/docs/using.html#manual


OpenProject專案匯出中文無法顯示問題

 OpenProject可以匯出專案成以下格式: 我OpenProject是架設在Ubuntu 20.04上,查了一下OpenProject處理匯出的功能,從網路上找到這篇文章: https://feifacunzai.github.io/2022/11/29/OpenProje...