发现了 acme.sh 这个库,这个是用Shell脚本编写的,不需要安装其他东西,比较纯净。准备工作:一个已解析好的域名(可以用http来访问)。开启服务器的443端口防火墙。
前言
准备工作
-
一个已解析好的域名(可以用http来访问)。
-
开启服务器的443端口防火墙。
步骤
一、安装acme.sh
curl https://get.acme.sh | sh
source ~/.bashrc
二、生成证书
acme.sh --issue -d www.your-domin.com --webroot /srv/your-domin.com/
三、安装或copy证书到nginx目录
mkdir /etc/nginx/ssl
acme.sh --installcert -d www.your-domin.com \
--key-file /etc/nginx/ssl/www.your-domin.com.key \
--fullchain-file /etc/nginx/ssl/fullchain.cer \
--reloadcmd "service nginx force-reload"
四、生成 dhparam.pem 文件
openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048
五、配置nginx
server {
listen 80;
server_name www.your-domin.com;
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
ssl_certificate /etc/nginx/ssl/www.your-domin.com.cer;
ssl_certificate_key /etc/nginx/ssl/www.your-domin.com.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/nginx/ssl/dhparam.pem;
...
}
六、证书更新
# crontab -l
47 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null
acme.sh --cron -f
七、设置软件自动更新
acme.sh --upgrade --auto-upgrade
其他