使用 acme.sh 签发证书
步骤一:
安装 acme.sh ,切换到 Let’s Encryp t 的 CA ,开启 acme.sh 的自动升级。
1 2 3 |
curl https://get.acme.sh | sh ~/.acme.sh/acme.sh --set-default-ca --server letsencrypt ~/.acme.sh/acme.sh --upgrade --auto-upgrade |
步骤二:
使用 acme.sh 签发证书,指定 Nginx 对应插件。
1 2 3 |
~/.acme.sh/acme.sh --issue -d 域名 --webroot 网站目录 或者使用以下命令 ~/.acme.sh/acme.sh --issue -d 域名 --nginx |
步骤三:
证书位于 ~/.acme.sh 目录,不建议直接使用,创建 /etc/nginx/ssl
目录存放证书。
1 2 3 4 5 |
mkdir -p /etc/nginx/ssl ~/.acme.sh/acme.sh --install-cert -d 域名 \ --key-file /etc/nginx/ssl/域名.key \ --fullchain-file /etc/nginx/ssl/域名.crt \ --reloadcmd "service nginx force-reload" |
步骤四:
打开 /etc/nginx/conf.d/ 目录下的 conf 文件,进行网站 SSL 的配置。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
server { listen 80; server_name 域名; rewrite ^(.*) https://$server_name$1 permanent; } server { listen 443 ssl; server_name 域名; charset utf-8; ssl_certificate /etc/nginx/ssl/域名.crt; ssl_certificate_key /etc/nginx/ssl/域名.key; ssl_protocols TLSv1.2 TLSv1.3; # TLSv1.3需要nginx 1.13.0以上版本 # 如果nginx版本低,建议使用这种加密算法配置 # ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384; ssl_ecdh_curve secp384r1; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; ssl_session_tickets off; keepalive_timeout 70; |
提示:
上面的申请和安装命令,执行过一次,acme.sh便会记下你的操作,在证书即将到期前自动帮你执行一遍,非常的好用和贴心。
THE END