摘要:不想讓應用改用的服務。因此,研究如何啟用,本文即是介紹如何在上配合使用。因此拋棄這個模式,我們使用配置模式。修改你的服務器配置,在模塊添加可以看到,上面的,我們讓他指向了,因為我的應用是通過的寫的,如果修改源代碼的話,比較麻煩。
前言
自己做了一個iOS App,需要訪問自己的網站獲取數(shù)據(jù),但是系統(tǒng)默認只能直接訪問https的網站。不想讓應用改用http的服務。因此,研究如何啟用https,本文即是介紹如何在CentOS上配合Nginx使用CertBot。
環(huán)境
CentOS(CentOS Linux release 7.2.1511)
Nginx(nginx version: nginx/1.6.3)
ExpressJS應用
安裝CertBot命令行,鍵入:
sudo yum install epel-release sudo yum install certbot配置Nginx
這里我不想使用CertBot的standalone模式,這個模式雖然可以配置好服務器,但是以后Renew的時候,需要讓服務停止一下,再啟動。因此拋棄這個模式,我們使用Webroot配置模式。
因為,CertBot在驗證服務器域名的時候,會生成一個隨機文件,然后CertBot的服務器會通過HTTP訪問你的這個文件,因此要確保你的Nginx配置好,以便可以訪問到這個文件。
修改你的服務器配置,在server模塊添加:
location ^~ /.well-known/acme-challenge/ { default_type "text/plain"; root /usr/share/nginx/html; } location = /.well-known/acme-challenge/ { return 404; }
可以看到,上面的root,我們讓他指向了/usr/share/nginx/html,因為我的應用是通過NodeJS的ExpressJS寫的,如果修改源代碼的話,比較麻煩。因此我就讓檢驗的鏈接指向了nginx默認的文件夾下。
接著重新加載Nginx配置:
sudo service nginx reload
然后在命令行輸入:
sudo certbot certonly --webroot -w /usr/share/nginx/html/ -d your.domain.com
上面記得替換your.domain.com為你自己的域名。
如果提示:
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at /etc/letsencrypt/live/your.domain.com/fullchain.pem. Your cert will expire on 20XX-09-23. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let"s Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
證書生成成功!
啟用443端口同樣,修改Nginx的虛擬主機配置文件,新建一個443端口的server配置:
server { listen 443 ssl; listen [::]:443 ssl ipv6only=on; ssl_certificate /etc/letsencrypt/live/your.domain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/your.domain.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/your.domain.com/chain.pem; // ... other settings ... }
上面記得替換your.domain.com為你自己的域名。
接著重新加載Nginx配置:
sudo service nginx reload
現(xiàn)在通過瀏覽器訪問你的網站:https://your.domain.com試試,如果看到瀏覽器的綠色標志,恭喜你設置成功!
不過由于這個證書的時效只有90天,我們需要設置自動更新的功能,幫我們自動更新證書的時效。
自動更新證書先在命令行模擬證書更新:
sudo certbot renew --dry-run
模擬更新成功的效果如下:
------------------------------------------------------------------------------- Processing /etc/letsencrypt/renewal/your.domain.com.conf ------------------------------------------------------------------------------- ** DRY RUN: simulating "certbot renew" close to cert expiry ** (The test certificates below have not been saved.) Congratulations, all renewals succeeded. The following certs have been renewed: /etc/letsencrypt/live/your.domain.com/fullchain.pem (success) ** DRY RUN: simulating "certbot renew" close to cert expiry ** (The test certificates above have not been saved.)
既然模擬成功,我們就使用crontab -e的命令來啟用自動任務,命令行:
sudo crontab -e
添加配置:
30 2 * * 1 /usr/bin/certbot renew >> /var/log/le-renew.log
上面的執(zhí)行時間為:每周一半夜2點30分執(zhí)行renew任務。
你可以在命令行執(zhí)行/usr/bin/certbot renew >> /var/log/le-renew.log看看是否執(zhí)行正常,如果一切OK,那么我們的配置到此結束!
參考Certbot官網
LetsEncrypt Nginx and Proxy Apps on Ubuntu
nginx配置示例
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/39295.html
摘要:本文首發(fā)開發(fā)指南如何在上安裝是由開發(fā)的一個自由自動化和開放的證書頒發(fā)機構。目前幾乎所有的現(xiàn)代瀏覽器都信任由頒發(fā)的證書。這個教程,將會一步一步的教你如何在上通過來生成安全證書,并配置到上。支持,嚴格傳輸安全并強制執(zhí)行幾個以安全為中心的頭。 showImg(https://segmentfault.com/img/bVbozol?w=1000&h=530); 本文首發(fā):開發(fā)指南:如何在 C...
摘要:超文本傳輸安全協(xié)議英語,縮寫,常稱為,或是一種透過計算器網上進行安全通信的傳輸協(xié)議。超文本傳輸安全協(xié)議為什么要開啟安全性開啟免費服務我們今天介紹的免費簽名平臺是,安裝過程以為例,如果你使用了其他系統(tǒng)或其他服務類型可前往查看相應部署方法。 HTTPS 超文本傳輸安全協(xié)議(英語:Hypertext Transfer Protocol Secure,縮寫:HTTPS,常稱為HTTP over...
閱讀 3235·2021-11-23 09:51
閱讀 2480·2021-09-27 13:34
閱讀 2464·2021-09-08 09:45
閱讀 662·2019-08-30 15:44
閱讀 3493·2019-08-29 12:17
閱讀 2759·2019-08-26 12:18
閱讀 2622·2019-08-26 10:10
閱讀 3078·2019-08-23 18:02