服务器配置https(Let’s Encrypt SSL)

来源:互联网 发布:九维网络免费wifi 编辑:程序博客网 时间:2024/06/02 01:06

参考文章

官网

开始之前

  • 需要拥有一个域名

  • 本文环境是Centos7+nginx,可参考配置

  • 一个网站网页

certbo部分

# 下载>>>yum install epel-release -y && yum install certbot# 生成证书,yourdomain表示你的域名,如果还需要添加域名可继续加上-d 参数>>>cerbot certonly --webroot -d yourdomain -d yourdomain2# 输入一些信息,如个人邮箱,网站的网页的路径# 如果成功的话,会有Congratulations的提示。证书一般默认放在/etc/letsencrypt/live 下,一般最后给出的信息提示了路径# /etc/letsencrypt/live 目录下有一个文件夹名名字是 你的域名,在这里假设为domain/

配置nginx

# 一般nginx的配置文件在/etc/nginx/下,这里简单的使用默认的配置文件进行更改>>>vim /etc/nginx/nginx.conf`    # 添加或修改以下内容    server {        listen      80;        # 这里填写你的域名        server_name yourdomain;        # 这里填写你的网站的根目录        root        /xxx/xxx;        return 301 https://$server_name$request_url;        # 之后内容按需配置        ...    }    # https相关配置    server{        listen      443 ssl;        # 同上配置        server_name yourdomain;        # 注意下面两行的xxx更换为在live文件夹下你的域名文件夹        ssl_certificate /etc/letsencrypt/live/xxx/fullchain.pem;        ssl_certificate_key /etc/letsencrypt/live/xxx/privkey.pem;        # 可照抄        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;        ssl_prefer_server_ciphers on;        ssl_session_cache shared:SSL:10m;        ssl_session_timeout 5m;        keepalive_timeout 70;        # 按需配置        ...    }`# 保存退出后,重启nginx即开启了https服务>>>/etc/init.d/nginx restart 

写在最后

由于证书有效期为三个月,所以需要每隔三个月进行更新

这里在linux下添加一个定时任务

>>>crontab -e `    0 0 0 */2 0 root /usr/bin/certbot renew`# certbot renew是更新证书命令# 如果更新失败可以尝试下吗的命令# 如果报错,可以尝试下面的命令>>>rpm --query centos-release  # centos-release-7-3.1611.el7.centos.x86_64>>>wget ftp://ftp.muug.mb.ca/mirror/centos/7.3.1611/cloud/x86_64/openstack-mitaka/common/pyOpenSSL-0.15.1-1.el7.noarch.rpm>>>rpm -Uvh pyOpenSSL-0.15.1-1.el7.noarch.rpm>>>yum install certbotcertbot renew  # OK

关于crontab定时任务可以查看我的另一篇博客

(Linux下执行定时任务(crontab命令))[http://blog.csdn.net/wnma3mz/article/details/77519796]

原创粉丝点击