码迷,mamicode.com
首页 > Web开发 > 详细

Let's Encrypt,免费好用的 HTTPS 证书

时间:2016-11-06 11:53:24      阅读:309      评论:0      收藏:0      [点我收藏+]

标签:span   oss   rsa   引导   --   验证   脚本   strong   div   

https://imququ.com/post/letsencrypt-certificate.html

1、

openssl genrsa 4096 > account.key

2、私钥

openssl genrsa 4096 > domain.key

3、csr文件生成

openssl.cnf文件位置,可以用

find / -name openssl.cnf

查找

DNS域名,可以多个,都要可以访问

openssl req -new -sha256 -key domain.key -subj "/" -reqexts SAN -config <(cat /etc/ssl/openssl.cnf <(printf "[SAN]\nsubjectAltName=DNS:yoursite.com,DNS:www.yoursite.com")) > domain.csr

 

4.1、验证准备

目录

mkdir ~/www/challenges/

访问引导,注意目录

server {
listen 80; server_name www.yoursite.com yoursite.com;    #验证访问 location
^~ /.well-known/acme-challenge/ { alias /home/xxx/www/challenges/; try_files $uri =404; } location / {
     #其他访问转向https rewrite
^/(.*)$ https://yoursite.com/$1 permanent; } }

4.2 脚本文件

https://github.com/diafygi/acme-tiny

5 验证

注意用到了1、2的两个文件,并提供验证目录

python acme_tiny.py --account-key ./account.key --csr ./domain.csr --acme-dir ~/www/challenges/ > ./signed.crt

通过验证后,当前目录下就会生成一个 signed.crt 证书文件。

6 合并证书

wget -O - https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem > intermediate.pem
cat signed.crt intermediate.pem > chained.pem

7开启(nginx配置,其他和http配置一样)

server {
    server_name YOUR_DOMAINNAME_HERE;
    listen 443;
    ssl on;
    ssl_certificate     ~/www/ssl/chained.pem;
    ssl_certificate_key ~/www/ssl/domain.key;
}

 

6自动更新脚本

Let‘s Encrypt 签发的证书只有 90 天有效期,用脚本定期更新。

脚本内容和上面步骤一样,验证并获得证书,合并证书,最后重载nginx,注意目录

#!/bin/bash

cd /home/xxx/www/ssl/
python acme_tiny.py --account-key account.key --csr domain.csr --acme-dir /home/xxx/www/challenges/ > signed.crt || exit
wget -O - https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem > intermediate.pem
cat signed.crt intermediate.pem > chained.pem
service nginx reload

7定期执行脚本

可执行权限

chmod a+x renew_cert.sh

定期执行(每月一次)

0 0 1 * * /home/xxx/shell/renew_cert.sh >/dev/null 2>&1

 

Let's Encrypt,免费好用的 HTTPS 证书

标签:span   oss   rsa   引导   --   验证   脚本   strong   div   

原文地址:http://www.cnblogs.com/mitang/p/6034828.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!