准备工作:
系统支持Python2.7以上版本以及支持GIT工具
下载安装:
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
./letsencrypt-auto certonly --standalone --email 邮箱@***.com -d 域名.com -d www.域名.com
执行上面的脚本,根据自己的实际情况将邮箱和域名更换成自己的。
稍微注意一下:如果nginx在启动的情况下,可能生成不了证书,请关闭nginx,在执行上方脚本。
在完成Let's Encrypt证书的生成之后,我们会在"/etc/letsencrypt/live/***.com/"域名目录下有4个文件就是生成的密钥证书文件。
cert.pem - Apache服务器端证书
chain.pem - Apache根证书和中继证书
fullchain.pem - Nginx所需要ssl_certificate文件
privkey.pem - 安全证书KEY文件
我使用的Nginx环境,那就需要用到fullchain.pem和privkey.pem两个证书文件。只要将对应的ssl_certificate和ssl_certificate_key路径设置成我们生成的2个文件就可以,最好不要移动和复制文件,因为续期的时候直接续期生成的目录文件就可以,不需要再手工复制。
server {
listen 443 ssl;
server_name 域名;
ssl_certificate /etc/letsencrypt/live/域名/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/域名/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_ciphers 'HIGH:!aNULL:!MD5';
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security max-age=15768000;
# The rest of your server block
#root html;
#index index.html index.htm;
location / {
#try_files $uri $uri/ =404;
proxy_pass http://localhost:8082;
}
}
Let's Encrypt证书是有效期90天的,需要我们自己手工更新续期才可以
./letsencrypt-auto certonly --standalone --email 邮箱@***.com -d 域名.com -d www.域名.com
可以制作成定时执行任务