申请letsencrypt证书结合nginx实现网站https访问

1个月前 75次点击 来自 其他

标签: Linux

参考链接 1:

https://tomoya92.github.io/2016/08/28/letsencrypt-nginx-https/

参考链接 2:

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

1.初始化配置

安装生成证书工具和nginx

add-apt-repository ppa:certbot/certbot -y && apt-get update && apt-get install python-certbot-nginx -y && apt install nginx

配置nginx

编辑nginx文件

vi /etc/nginx/sites-available/default

server {
  server_name devler.cn www.devler
  location / {
    proxy_pass   http://127.0.0.1:8000/;
    include conf.d/proxy.conf;
  }
}

vi /etc/nginx/conf.d/proxy.conf

# proxy.conf
proxy_redirect          off;
proxy_set_header        Host            $host;
proxy_set_header        X-Real-IP       $remote_addr;
proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size    20m;
client_body_buffer_size 128k;
proxy_connect_timeout   90;
proxy_send_timeout      90;
proxy_read_timeout      90;
proxy_buffers           32 4k;

2.生成证书

注意生成证书之前nginx要启动,而且域名要解析到服务器上

运行命令

sudo certbot --nginx -d devler.cn -d www.devler.cn

跟着步骤操作,最后会发现它把nginx都给配置的好好的,什么都不用管了,最后重启nginx即可

service nginx start

3.自动续期

letsencrypt生成的证书最多只有3个月有效期,这里利用ubuntu的系统自带的定时任务来解决这个问题

运行 crontab -e 命令,进入到定时任务的编辑界面,然后添加上下面这段命令,命令意思是7天运行一次,在夜里3点运行

0 3 */7 * * certbot renew —renew-hook "/etc/init.d/nginx reload"
Card image cap
开发者雷

尘世间一个小小的开发者,每天增加一些无聊的知识

本站文章全部采用 CC BY 4.0 协议,欢迎转载

技术文档 >> 系列应用 >>
热推应用
Let'sLearnSwift
学习Swift的入门教程
PyPie
Python is as good as Pie
标签