使用acme.sh申请Let‘s Encrypt的SSL证书并安装的步骤
在CentOS 7上使用acme.sh申请Let’s Encrypt的SSL证书并安装在Nginx服务器的步骤,可以分为以下几个主要步骤:
一、安装acme.sh
安装必要的工具:
确保你的系统中已安装socat和curl(如果尚未安装,可以使用yum install socat curl -y命令进行安装)。
下载并安装acme.sh:
通过curl命令下载acme.sh的安装脚本并执行安装,同时指定一个邮箱地址以便接收重要通知(如证书即将过期):
curl https://get.acme.sh | sh -s email=your@email.com
替换your@email.com为你的邮箱地址。
验证安装:
安装完成后,可以通过执行acme.sh --version来检查acme.sh的版本,确认是否安装成功。
二、使用acme.sh申请SSL证书
准备域名:
确保你拥有要申请证书的域名,并且该域名已经解析到你的服务器。
选择验证方式:
acme.sh支持多种验证方式,包括HTTP、DNS等。对于大多数情况,HTTP验证是最简单的方式。
申请证书:
使用acme.sh的--issue命令申请证书。如果你选择HTTP验证,并且你的网站已经运行在Nginx上,可以直接使用--nginx参数让acme.sh自动完成验证和证书申请:
acme.sh --issue -d yourdomain.com --nginx
替换yourdomain.com为你的域名。
如果选择其他验证方式(如DNS),则需要按照acme.sh的提示手动进行验证。
三、安装证书到Nginx
确认证书位置:
acme.sh申请到的证书和私钥文件默认会保存在~/.acme.sh/yourdomain.com/目录下。
配置Nginx:
编辑Nginx的配置文件(通常是/etc/nginx/nginx.conf或者/etc/nginx/conf.d/yourdomain.com.conf),添加或修改SSL相关的配置:
server { listen 443 ssl; server_name yourdomain.com; ssl_certificate /root/.acme.sh/yourdomain.com/fullchain.cer; # 替换为你的证书文件路径 ssl_certificate_key /root/.acme.sh/yourdomain.com/yourdomain.com.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; # 其他配置... }
重启Nginx:
保存配置文件后,重启Nginx以使更改生效:
systemctl restart nginx
四、验证和续期
验证HTTPS:
在浏览器中访问你的网站,检查是否已通过HTTPS协议访问,并确认证书信息是否正确。
自动续期:
acme.sh默认会每天检查所有证书,并在证书即将过期时自动续期。你也可以手动执行acme.sh --renew -d yourdomain.com来强制续期证书。
通过以上步骤,你可以在CentOS 7上使用acme.sh成功申请Let’s Encrypt的SSL证书,并将其安装在Nginx服务器上。
原文链接:https://blog.csdn.net/weixin_43425561/article/details/142031880