如何使用golang lego let's encrypt client behind nginx?
How to use golang lego let's encrypt client behind nginx?
我想使用 nginx 和用 Go 编写的 lego 客户端将 Let's Encrypt 证书设置为实时服务器 https://github.com/xenolf/lego/
我将如何使用 nginx 配置来获取证书?
您需要在以下位置添加 :80 和 :443 虚拟服务器:
# http and https nginx servers
location /.well-known/acme-challenge/ {
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:4000$request_uri;
}
和运行乐高二进制文件:
./lego.amd64 --http 127.0.0.1:4000 --email="your@address.tld" --domains domain.tld --domains some.domain.tld run
您的证书文件存储在:
# ls -la .lego/certificates/
total 20
drwx------ 2 root root 4096 Nov 9 08:06 .
drwx------ 4 root root 4096 Nov 9 08:06 ..
-rw------- 1 root root 3477 Nov 9 08:15 domain.tld.crt
-rw------- 1 root root 226 Nov 9 08:15 domain.tld.json
-rw------- 1 root root 1679 Nov 9 08:15 domain.tld.key
如果 nginx 已经使用有效的 SSL/TLS 证书并且您想在证书中添加新域名您需要排除 tls-sni-01
求解器:
./lego.amd64 --exclude=tls-sni-01 --http 127.0.0.1:4000 --email="your@address.com" --domains domain.tld --domains new.domain.tld run
我想使用 nginx 和用 Go 编写的 lego 客户端将 Let's Encrypt 证书设置为实时服务器 https://github.com/xenolf/lego/
我将如何使用 nginx 配置来获取证书?
您需要在以下位置添加 :80 和 :443 虚拟服务器:
# http and https nginx servers
location /.well-known/acme-challenge/ {
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:4000$request_uri;
}
和运行乐高二进制文件:
./lego.amd64 --http 127.0.0.1:4000 --email="your@address.tld" --domains domain.tld --domains some.domain.tld run
您的证书文件存储在:
# ls -la .lego/certificates/
total 20
drwx------ 2 root root 4096 Nov 9 08:06 .
drwx------ 4 root root 4096 Nov 9 08:06 ..
-rw------- 1 root root 3477 Nov 9 08:15 domain.tld.crt
-rw------- 1 root root 226 Nov 9 08:15 domain.tld.json
-rw------- 1 root root 1679 Nov 9 08:15 domain.tld.key
如果 nginx 已经使用有效的 SSL/TLS 证书并且您想在证书中添加新域名您需要排除 tls-sni-01
求解器:
./lego.amd64 --exclude=tls-sni-01 --http 127.0.0.1:4000 --email="your@address.com" --domains domain.tld --domains new.domain.tld run