文章源地址:文章源地址
根据现在的规定,http 协议被标记为不安全,需要转换为 https 协议
本文采用 Let’s encrypt 提供的 ssl 证书,将网站升级为 https 协议,并自动更新。
一、下载 let’s encrypt
service nginx stop # 关闭 nginx 服务
apt-get update
add-apt-repository ppa:certbot/certbot
apt-get install certbot
# 申请泛域名证书需要添加 DNS 解析,每次自动更新需要更改 DNS 解析
# certbot certonly --preferred-challenges dns --manual -d *.coderlx.com
certbot certonly --standalone -d www.coderlx.com
二、根据生成提示查找文件所在位置
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/【这里是你的域名文件夹路径】/fullchain.pem. Your cert will
expire on 【这里是到期时间】. To obtain a new or tweaked version of this
certificate in the future, simply run certbot-auto again. To
non-interactively renew *all* of your certificates, run
"certbot-auto renew"
三、配置 Nginx 文件
server {
root /var/www/html;
# 这里为配置 https 协议添加的配置
listen 443 ssl default_server;
server_name coderlx.com; #换成你自己的域名
ssl on;
ssl_certificate /etc/letsencrypt/live/www.coderlx.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/www.coderlx.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers AES256+EECDH:AES256+EDH:!aNULL;
# 这里为配置 https 协议添加的配置
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000;
}
# 这个地方是重点需要注意 (照以下写法后端静态文件缺失,前端正常,收集后端静态文件请看我另一篇文章)
location /static {
alias /home/MyBlog/blog_config/static; # 你的静态文件夹地址
# alias /home/MyBlog/blog_config/nginx/static;
}
}
四、使用 ubuntu 自带的 crontab 定时任务
crontab -e
59 23 * */2 * certbot renew --quiet --renew-hook '/etc/init.d/nginx reload'
service cron restart