摘要:多个域名(mysite.com,*.mysite.com),免费证书,添加解析记录,申请证书的shell脚本,nginx配置
一、多个域名申请免费证书
- 登录免费证书网站:https://freessl.cn/
- 输入:mysite.com,*.mysite.com
- 选择亚洲诚信trustasia
- 点击“创建免费的ssl证书”
- ACME域名配置
- 域名:确认刚才输入的mysite.com,*.mysite.com无误,点击下一步生成DCV配置。
添加解析记录
- 记下DCV配置:主机记录: xxx,记录类型: CNAME,记录值: xxxx
- 登录阿里云、腾讯云等,找到“域名解析”
- 选择“添加记录”,将上述主机记录、记录类型(CNAME)、记录值填入,并确定使之生效
申请证书的shell脚本(acme.sh)
使用acme.sh脚本部署
- 申请证书
// 下载acme.sh脚本:
git clone https://github.com/acmesh-official/acme.sh.git
// 进入文件夹
cd acme.sh
// 初次创建
sh acme.sh --issue -d mysite.com -d *.mysite.com --dns dns_dp --server https://acme.freessl.cn/v2/DV90/directory/xxxxxxxx
或
// 重新申请
sh acme.sh --renew --issue -d mysite.com -d *.mysite.com --dns dns_dp --server https://acme.freessl.cn/v2/DV90/directory/xxxxxxxx
// 命令执行后,在/root/.acme.sh目录生成必要的文件,其中证书文件:mysite.com.key、fullchain.cer最重要。
- 配置文件,复制文件,强制重启nginx
// mysite.com.key、fullchain.cer文件复制到/etc/nginx/ssl/fullchain.cer和/etc/nginx/ssl/mysite.key
sh acme.sh --installcert -d mysite.com --key-file /etc/nginx/ssl/mysite.key --fullchain-file /etc/nginx/ssl/fullchain.cer --reloadcmd "service nginx force-reload"
nginx配置
- 编辑nginx配置文件
// vim /etc/nginx/nginx.conf
server {
listen 443;
server_name www.mysite.com mysite.com m.mysite.com; # 域名
ssl on; # 开启ssl
ssl_certificate /etc/nginx/ssl/fullchain.cer; # 证书目录
ssl_certificate_key /etc/nginx/ssl/ohlaa.key; # 证书目录
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
root /home/xxx;
index index.html index.htm;
location /static {
alias /home/xx/static; # 静态资源路径
}
}
}
- 重启nginx
// 在nginx的安装位置执行
./usr/sbin/nginx -s reload