使用acme.sh撸一个免费且自动更新的HTTPS证书

站长手记 作者: 2024-08-28 02:40:01
发现了 acme.sh 这个库,这个是用Shell脚本编写的,不需要安装其他东西,比较纯净。准备工作:一个已解析好的域名(可以用http来访问)。开启服务器的443端口防火墙。

前言

准备工作

  1. 一个已解析好的域名(可以用http来访问)。
  2. 开启服务器的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

其他

原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_69885.html
HTTPS证书 免费HTTPS证书