为了网页服务的安全性,我们需要将提供的HTTP协定页面,透过 SSL/TLS加密,升级成HTTPs。
这篇主要参考官网的攻略:
https://www.nginx.com/blog/using-free-ssltls-certificates-from-lets-encrypt-with-nginx/
而因为受限于资金有限,所以我将只提供攻略流程,而不会实际执行一次。
首先第一步可以先购买一个domain,大家可以到google domain购买自己喜欢的domain名称:
再来依据Ubuntu版本不同来安装certbot(利用Let’s Encrypt的服务来进行SSL/TLS加密,官网:
https://letsencrypt.org/ )
16.04
apt-get updatesudo apt-get install certbotapt-get install python-certbot-nginx
18.04
apt-get updatesudo apt-get install certbotapt-get install python3-certbot-nginx
至于其他OS或是版本,可以参考Certbot的官网:
https://certbot.eff.org/lets-encrypt/ubuntufocal-nginx
接着可以修改上次[Day 19]在site-enabled中的default指令:
server { listen 80 default_server; listen [::]:80 default_server; root /home/wilson/myapp; server_name <购买的domain 网址>; location / { proxy_pass http://127.0.0.1:5000/; proxy_set_header Host $host; }}
测试及reload Nginx:
nginx -t && nginx -s reload
SSL/TLS 验证:
sudo certbot --nginx -d <购买的domain 网址>
看结果:
由于Let’s Encrypt只有90天的验证有效性,所以可以使用 crontab 定期更新验证: