實戰!安裝Let’s Encrypt@CentOS、NGiNX

作者: | 2016-04-13
letsencrypt

Google、Cisco、Akamai、Mozilla、IdenTrust、蘋果、微軟等等的公司合推的非營利、開源、免費SSL認證的網路認證發放機構Let’s Encrypt從去年秋季開始發放免費但限期3個月SSL簽證(可無限續期)之後,陸續已經超過有3百多萬個網站使用,我也順便這兩天玩了一下,簡單做個記錄。 (H)

1.安裝Bc、git、EPEL來源

yum -y install git bc epel-release

2-1.git方式下載Let’s Encrypt(推薦)

git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt

2-2.一般方式下載Let’s Encrypt

cd /opt/
wget https://github.com/letsencrypt/letsencrypt/archive/v0.5.0.tar.gz
tar xf v*.tar.gz -C /opt/
mv letsencrypt-* letsencrypt
cd /opt/letsencrypt

letsencrypt_01

3.以Diffie-Hellman(迪菲-赫爾曼)交換演算法產生密鑰

openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

4.申請Let’s Encrypt認證,請注意修改以下三項:

admin@guess.za.net = 修改成使用中的信箱
guess.za.net = 修改成要申請的域名
/home/wwwroot/default/ = 修改成主機的網頁根目錄

mkdir -p /home/wwwroot/guess.za.net/.well-known/acme-challenge
cd /opt/letsencrypt
./letsencrypt-auto certonly --email admin@guess.za.net -d "guess.za.net" --webroot -w /home/wwwroot/guess.za.net/ --agree-tos

letsencrypt_02

成功後會產生三個檔案,位置分別是:

/etc/ssl/certs/dhparam.pem
/etc/letsencrypt/live/guess.za.net/fullchain.pem
/etc/letsencrypt/live/guess.za.net/privkey.pem

5.設定NGiNX檔案,在server區段內新增

※請注意修改成實際產生的位置※

設定完畢後先用此指令測試設定檔有無出錯

nginx -t

確認沒問題之後才重啟NGiNX,然後前往ssllabs.com檢查SSL認證狀態

letsencrypt_06letsencrypt_07

nginx -s reload
ps ax | grep nginx
netstat -atunp | grep nginx

letsencrypt_03

6.新增Let’s Encrypt的設定檔來自動更新SSL

※請注意修改成使用中的信箱、要申請的域名、主機的網頁根目錄※

7.新增自動更新SSL認證的SH檔案,內容如下:

※請注意修改成實際設定檔的位置※

vi /root/renew-letsencrypt.sh

letsencrypt_04

記得給權限唷 :$

chmod +x /root/renew-letsencrypt.sh

8.設定自動排程,每月1號自動更新SSL認證

crontab -e

@monthly cd /opt/letsencrypt && git pull
@monthly /root/renew-letsencrypt.sh

參考資料:
http://letsencrypt.readthedocs.org/en/latest/using.html
https://www.godaddy.com/help/install-a-lets-encrypt-ssl-nginx-20246
https://codex.wordpress.org/Nginx
https://www.nginx.com/blog/free-certificates-lets-encrypt-and-nginx/
https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-centos-7

臉書回應

篇回應

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

(A)  :@  (brb)  (U)  (:cc)  :S  (H)  :-(  :cute  (6)  :-#  :$  :er  8-)  FUCK 
(})  ({)  GY  (L)  :kao  (K)  :cc  :pu  (F)  :(  ^o)  :-*  :O  +o(  |-) 
:)  (*)  :D  *-)  (N)  (Y)  :P  :|  (W)  ;)  XD