acme.sh安装ssl 以阿里域名为例
2019-07-06 本文已影响0人
theache
今天换了服务器需要重新生成ssl。尝试了下acme.sh。
1安装acme.sh
curl https://get.acme.sh | sh
运行以上命令就能自动完成安装acme.sh。并生成~/.acme.sh
文件夹。如需将acme.sh修改为全部命令。只需要创建一个alias即可alias acme.sh=~/.acme.sh/acme.sh
域名解析
在这里我是通过dns的方式生成证书,域名服务商为阿里云
# 替换成从阿里云获取的 API 参数
export Ali_Key="666"
export Ali_Secret="666"
# 换成自己的域名
acme.sh --issue --dns dns_ali -d blestgirl.top -d *.blestgirl.top
image
生成证书
acme.sh --installcert -d blestgirl.top \
--key-file /var/lib/docker/volumes/nginx/_data/ssl/blestgirl.top.key \
--fullchain-file /var/lib/docker/volumes/nginx/_data/ssl/blestgirl.top.cer \
--reloadcmd "docker restart nginx"
--reloadcmd
是更新完证书后需要重启nginx
nginx配置
server {
listen 443 ssl http2;
server_name www.blestgirl.top;
ssl_certificate /etc/nginx/ssl/blestgirl.top.cer;
ssl_certificate_key /etc/nginx/ssl/blestgirl.top.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;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
location ~ \.php$ {
root /var/www/html;
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;
include fastcgi_params;
}
}
image
部署成功。acme.sh会创建定时任务,所以不用每次快到期了去手动更新。