Acme为nginx生成https证书

安装acme.sh

curl https://get.acme.sh | sh

命令简介

请证书需要对你的域名进行验证,使用本地 Nginx 验证:

~/.acme.sh/acme.sh  --issue  -d 你的域名 --nginx

上面这条命令会在 ~/.acme.sh 文件夹下生成域名相关的证书文件,而 nginx 读取的证书文件最好在 /etc/nginx 中,下面的命令会把文件复制一份到 /etc/nginx/ssl 下。

~/.acme.sh/acme.sh  --installcert  -d  你的域名 \
--key-file   /etc/nginx/ssl/你的域名/你的域名.key \
--fullchain-file /etc/nginx/ssl/你的域名/fullchain.cer \
--reloadcmd "service nginx force-reload"

还有一步,就是在nginx上加证书配置,如下:

server {
    listen 443;
    server_name 你的域名;
    ssl on;
    root /var/www/html;
    index index.html index.htm;
    ssl_certificate  /etc/nginx/ssl/你的域名/fullchain.cer;
    ssl_certificate_key /etc/nginx/ssl/你的域名/你的域名.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;
    add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";

    location / {
        index index.html index.htm;
    }
}

重启nginx,测试证书有效性:

nginx -t && nginx -s reload
updatedupdated2021-02-182021-02-18