摘要:不想讓?xiě)?yīng)用改用的服務(wù)。因此,研究如何啟用,本文即是介紹如何在上配合使用。因此拋棄這個(gè)模式,我們使用配置模式。修改你的服務(wù)器配置,在模塊添加可以看到,上面的,我們讓他指向了,因?yàn)槲业膽?yīng)用是通過(guò)的寫(xiě)的,如果修改源代碼的話(huà),比較麻煩。
前言
自己做了一個(gè)iOS App,需要訪問(wèn)自己的網(wǎng)站獲取數(shù)據(jù),但是系統(tǒng)默認(rèn)只能直接訪問(wèn)https的網(wǎng)站。不想讓?xiě)?yīng)用改用http的服務(wù)。因此,研究如何啟用https,本文即是介紹如何在CentOS上配合Nginx使用CertBot。
環(huán)境
CentOS(CentOS Linux release 7.2.1511)
Nginx(nginx version: nginx/1.6.3)
ExpressJS應(yīng)用
安裝CertBot命令行,鍵入:
sudo yum install epel-release sudo yum install certbot配置Nginx
這里我不想使用CertBot的standalone模式,這個(gè)模式雖然可以配置好服務(wù)器,但是以后Renew的時(shí)候,需要讓服務(wù)停止一下,再啟動(dòng)。因此拋棄這個(gè)模式,我們使用Webroot配置模式。
因?yàn)?,CertBot在驗(yàn)證服務(wù)器域名的時(shí)候,會(huì)生成一個(gè)隨機(jī)文件,然后CertBot的服務(wù)器會(huì)通過(guò)HTTP訪問(wèn)你的這個(gè)文件,因此要確保你的Nginx配置好,以便可以訪問(wèn)到這個(gè)文件。
修改你的服務(wù)器配置,在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,因?yàn)槲业膽?yīng)用是通過(guò)NodeJS的ExpressJS寫(xiě)的,如果修改源代碼的話(huà),比較麻煩。因此我就讓檢驗(yàn)的鏈接指向了nginx默認(rèn)的文件夾下。
接著重新加載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
證書(shū)生成成功!
啟用443端口同樣,修改Nginx的虛擬主機(jī)配置文件,新建一個(gè)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)在通過(guò)瀏覽器訪問(wèn)你的網(wǎng)站:https://your.domain.com試試,如果看到瀏覽器的綠色標(biāo)志,恭喜你設(shè)置成功!
不過(guò)由于這個(gè)證書(shū)的時(shí)效只有90天,我們需要設(shè)置自動(dòng)更新的功能,幫我們自動(dòng)更新證書(shū)的時(shí)效。
自動(dòng)更新證書(shū)先在命令行模擬證書(shū)更新:
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的命令來(lái)啟用自動(dòng)任務(wù),命令行:
sudo crontab -e
添加配置:
30 2 * * 1 /usr/bin/certbot renew >> /var/log/le-renew.log
上面的執(zhí)行時(shí)間為:每周一半夜2點(diǎn)30分執(zhí)行renew任務(wù)。
你可以在命令行執(zhí)行/usr/bin/certbot renew >> /var/log/le-renew.log看看是否執(zhí)行正常,如果一切OK,那么我們的配置到此結(jié)束!
參考Certbot官網(wǎng)
LetsEncrypt Nginx and Proxy Apps on Ubuntu
nginx配置示例
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/39295.html
摘要:本文首發(fā)開(kāi)發(fā)指南如何在上安裝是由開(kāi)發(fā)的一個(gè)自由自動(dòng)化和開(kāi)放的證書(shū)頒發(fā)機(jī)構(gòu)。目前幾乎所有的現(xiàn)代瀏覽器都信任由頒發(fā)的證書(shū)。這個(gè)教程,將會(huì)一步一步的教你如何在上通過(guò)來(lái)生成安全證書(shū),并配置到上。支持,嚴(yán)格傳輸安全并強(qiáng)制執(zhí)行幾個(gè)以安全為中心的頭。 showImg(https://segmentfault.com/img/bVbozol?w=1000&h=530); 本文首發(fā):開(kāi)發(fā)指南:如何在 C...
摘要:超文本傳輸安全協(xié)議英語(yǔ),縮寫(xiě),常稱(chēng)為,或是一種透過(guò)計(jì)算器網(wǎng)上進(jìn)行安全通信的傳輸協(xié)議。超文本傳輸安全協(xié)議為什么要開(kāi)啟安全性開(kāi)啟免費(fèi)服務(wù)我們今天介紹的免費(fèi)簽名平臺(tái)是,安裝過(guò)程以為例,如果你使用了其他系統(tǒng)或其他服務(wù)類(lèi)型可前往查看相應(yīng)部署方法。 HTTPS 超文本傳輸安全協(xié)議(英語(yǔ):Hypertext Transfer Protocol Secure,縮寫(xiě):HTTPS,常稱(chēng)為HTTP over...
閱讀 3243·2021-11-23 09:51
閱讀 2498·2021-09-27 13:34
閱讀 2482·2021-09-08 09:45
閱讀 678·2019-08-30 15:44
閱讀 3506·2019-08-29 12:17
閱讀 2771·2019-08-26 12:18
閱讀 2637·2019-08-26 10:10
閱讀 3090·2019-08-23 18:02