使用acme.sh (opens new window)申请 Let's Encrypt 网站证书
# 克隆安装
curl https://get.acme.sh | sh
1
普通用户或 ROOT 账户皆可运行,这步操作将 acme.sh 安装至 ~/.acme.sh
并为你创建了一个 alias 方便使用
别名为:acme.sh
,可以在source ~/.bashrc
或其他在使用的 shellrc 后使用
# 证书申请
申请有次数限制,确保网址可以正确访问到服务器,具体见:速率限制 (opens new window)
下面将使用 HTTP 方式来申请证书文件,也是官方推荐的一种,可以自动检测过期并自动更新。
acme.sh --issue -d mydomain.com -d www.mydomain.com --webroot /home/wwwroot/mydomain.com/
1
将 mydomain.com 替换为你的域名,将/home/wwwroot/mydomain.com/替换为你网站静态文件所在位置
申请完成后将输出证书 cer 与 key 到~/.acme/mydomain
下
# 安装证书
- 输出可用的 key 与 pem
acme.sh --install-cert -d example.com \
--key-file /home/wwwroot/ssl/cert.key \
--fullchain-file /home/wwwroot/ssl/cert.key.pem \
--reloadcmd "systemctl restart nginx"
1
2
3
4
2
3
4
具体输出位置据个人网站位置而定
- 修改 nginx 配置文件,引入证书
server {
listen 443 ssl;
server_name www.xx.com;
...
ssl_certificate /home/wwwroot/ssl/cert.key.pem;
ssl_certificate_key /home/wwwroot/ssl/cert.key;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_session_timeout 5m;
ssl_prefer_server_ciphers on;
...
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
- 重启 nginx 服务使配置生效
nginx -t
# 检测nginx配置是否正确
systemctl restart nginx
# 重启nginx
1
2
3
4
5
2
3
4
5
打开网站检查是否已配置成功
到此结束,祝你好运。