一尘不染

如何使用golang lego让我们在nginx后面加密客户端?

go

我想设置让我们加密证书直播服务器与写在围棋LEGO客户nginx的https://github.com/xenolf/lego/

我将如何使用nginx config来获取证书?


阅读 287

收藏
2020-07-02

共1个答案

一尘不染

您需要在以下位置添加: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
2020-07-02