04月16, 2018

网站 HTTPS 化

网站 HTTPS 化

Let's Encrypt提供了免费证书申请.

申请证书

Let's Encrypt 官方提供了一个生成证书的小工具https://github.com/letsencrypt/letsencrypt首先下载它

git clone https://github.com/letsencrypt/letsencrypt

cd letsencrypt

./letsencrypt-auto certonly --standalone --email youremial@xxx.com -d yourdomain.com -d www.yourdomain.com

程序依赖了其他的python包,在执行命令后会自动下载。

下载完毕后它会要求你去认证你的邮箱,输入a表示同意. 然后去邮箱认证,然后完之后又会确认信息。 证书生成完毕后会告诉你证书的位置,在linux移动文件会存在权限问题,为了方便,可以直接使用这个地址。

cert.pem - Apache服务器端证书
chain.pem - Apache根证书和中继证书
fullchain.pem - Nginx所需要ssl_certificate文件
privkey.pem - 安全证书KEY文件

注意项目: 所有的域名需要DNS解析到当前服务器,而且需要保证当前服务器的80端口没有被占用,申请证书的程序需要使用80端口来确认当前服务器和域名是对应的!

nginx配置证书

打开nginx的配置文件,添加443端口的监听

server {
        listen       443 ssl http2 default_server;
        listen       [::]:443 ssl http2 default_server;
        server_name   yourdomain.com;
        root         /usr/share/nginx/html;

        ssl_certificate "/etc/letsencrypt/live/yourdomain.com/fullchain.pem";
        ssl_certificate_key "/etc/letsencrypt/live/yourdomain.com/privkey.pem";
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
                proxy_pass  http://blog;
        }
}

本文链接:https://www.qiangshuidiyu.xin/post/https.html

-- EOF --

Comments