手动版
https://www.sslforfree.com/
这个地址90天的有效期 申请一个ssl证书
自动版
先修改nginx确保 .well-known/acme-challenge/ 路径下的文件能够被 Nginx 正确处理。
server {
listen 80;
server_name xx.xx.com;
location /.well-known/acme-challenge/ {
root /etc/nginx/ssl/webroot;
}
location / {
proxy_pass http://127.0.0.1:8030;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
安装 acme.sh
下载和安装 acme.sh:
curl https://get.acme.sh | sh
加载 acme.sh 环境:
export PATH=$HOME/.acme.sh:$PATH
配置 acme.sh 申请证书
申请证书:
注册邮箱
acme.sh --register-account -m [email protected]
假设你希望为 xx.xx.com 申请证书,你可以使用以下命令:
acme.sh --issue -d xx.xx.com --webroot /etc/nginx/ssl/webroot
这样就表示已经成功生成了证书,接下来需要将这些证书文件配置到你的 Nginx 服务器中。按照以下步骤操作:
修改ngxin的配置
# HTTP 到 HTTPS 的重定向
server {
listen 80;
server_name xx.xx.com;
# 强制所有 HTTP 请求重定向到 HTTPS
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name 域名;
ssl_certificate /root/.acme.sh/xx.xx.com_ecc/fullchain.cer;
ssl_certificate_key /root/.acme.sh/auth2.tvmyst.com_ecc/xx.xx.com.key;
ssl_trusted_certificate /root/.acme.sh/xx.xx.com_ecc/ca.cer;
# Optional: Improve SSL security
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:RSA-AES256-GCM-SHA384:RSA-AES128-GCM-SHA256:RSA-AES256-SHA256:RSA-AES128-SHA256';
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:8030;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
然后重启测试nginx
nginx -t 测试nginx
systemctl reload nginx 重启nginx
设置自动更新
acme.sh 支持自动更新证书,你可以设置一个定时任务来自动续期证书。通常,可以通过以下命令设置:
sudo crontab -e
然后添加以下行来每天检查证书续期:
0 0 * * * /root/.acme.sh/acme.sh --cron --home "/root/.acme.sh" > /dev/null
这样配置后,acme.sh 会自动尝试续期证书,并且需要你配置 Nginx 以便使用新证书时重新加载 Nginx。
如果你想手动更新证书,那就
acme.sh --issue -d xx.xx.com --webroot /etc/nginx/ssl/webroot
感谢大佬打赏
![在这里插入图片描述]