安裝ssl & letsencrypt certbot

https://www.namecheap.com/support/knowledgebase/article.aspx/9419/0/nginx

cat certificate.crt ca_bundle.crt >> ca.chain.crt
將certificate.crt & ca_bundle.crt 輸出到 ca.cahin.crt

然後根據nginx的設定
ssl_certificate /home/ubuntu/project_dir/ssl/license/ca.chained.crt;
ssl_certificate_key /home/ubuntu/project_dir/ssl/license/private.key;記得將private.key也替換上去!

##################################################################

題外話:
再裝nginx的時候 (on ubuntu16.04), nginx竟然會無法stop/restart
最後只能先跑一次
ps -ef | grep nginx
kill <pid>
之後才可以正常stop/restart ..Orz

移除nginx
sudo apt-get purge nginx nginx-common

Ref:  

首先先安裝letsencrypt
sudo apt-get install letencrypt
接下來使用webroot的方式驗證這個domain真的是屬於你的
letsencrypt certonly --webroot -w /var/www/你的domain -d 你的domain

註:
webroot是letsencrypt利用在本機產生檔案, 然後透過domain驗證
來確認這個domain真的是你的

ex:
letsencrypt certonly --webroot -w /var/www/your.domain.com -d your.domain.com









註:
可以一次驗證多組 
只要有成對的 -w webroot_path/domain.to.be.verified -d domain.to.be.verified

https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-16-04

驗證成功後, 產生的檔案位置如下
ssl_certificate /etc/letsencrypt/live/your.domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your.domain.com/privkey.pem;

自動更新憑證
測試自動更新憑證是否有效
letsencrypt renew --dry-run --agree-tos







要更新的話就是
letsencrypt renew

** 更新
假設你有一台內原本有驗證多個 domain, 但是突然不需要驗證其他的
可以到 /etc/letsencrypt/renewal 中, 將不需要的 domain 的 conf 移除即可

另外相關ssl安裝步驟也可以參考
https://scaron.info/blog/improve-your-nginx-ssl-configuration.html

留言

這個網誌中的熱門文章

[MySQL] schema 與資料類型優化

[翻譯] 介紹現代網路負載平衡與代理伺服器