如何生成免费的多域名Let’s Encrypt通配符证书

前言

个人小程序不能正常打开了,用户前来投诉,经过查看,是https证书过期了。上次一成是一年前了,还要重新生成制作一下。下面记录一下生成多域名证书的流程。


一、安装acme.sh

curl https://get.acme.sh | sh
如果不可以使用,可以直接去github上下载,进行安装,具体查看github项目说明

二、检查是否安装好

#直接运行
acme.sh 
#如报错请运行如下
source ~/.bashrc

三、生成证书

DNS方式:获取阿里云的ID和Secret
https://ak-console.aliyun.com/#/accesskey
# 替换成从阿里云后台获取的密钥 
export Ali\_Key="ID"
export Ali\_Secret="Secret"
# 换成自己的域名
acme.sh --issue --dns dns\_ali -d baidu.com -d *.baidu.com
等待120秒

四、安装证书

#请把域名换成自己的域名

acme.sh --installcert -d baidu.com -d *.baidu.com  \
--keypath       /home/ssl/baidu.com/baidu.com.key  \
--fullchainpath /home/ssl/baidu.com/fullchain.cer \
--reloadcmd     "sudo service nginx force-reload"

五、配置nginx

server {
    listen 80;
    listen 443 ssl;
    server_name  www.baidu.com;


    ssl on;
    ssl_certificate /home/ssl/baidu.com/fullchain.cer; 
    ssl_certificate_key /home/ssl/baidu.com/baidu.com.key; 
    ssl_session_timeout  5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers  ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers  on;


    if ($scheme != 'https') {
    rewrite ^(.*)$  https://$server_name$1 permanent;
    }
}

总结

生成的证书是有限期的,经过查看我自己生成的时间,约是3个月的时候,最好是写一个计划任务,定时重新生成证书,以免过期耽误服务质量
阅读 183

推荐阅读