我在 Apache 前面使用 Pound 代理,因此 Pound 监听端口 80,而 Apache 监听端口 8888,我现在正在尝试弄清楚如何配置 Pound 将请求传递到 /home/username/public_html/.well-known,以实现无缝 Let's Encrypt 生成和更新。就像在 上讨论的那样,可以使用 nginx 来完成从 nginx https 重定向中排除 Let's Encrypt http 请求,使用 nginx 反向代理进行加密或者https://community.letsencrypt.org/t/404-on-well-known-acme-challenge/15565/15。
不幸的是,http://www.apsis.ch/pound没有提到任何代理传递指令。有人可以推荐如何配置 Pound 以将请求传递到某些目录吗?
我现在的配置如下:
ListenHTTP
Address 1.2.3.4
Port 80
Service
HeadRequire "Host:.*some1.myserver.net.*"
Redirect "https://some1.myserver.net"
End
Service
HeadRequire "Host:.*some2.myserver.net.*"
Redirect "https://some2.myserver.net"
End
End
ListenHTTPS
Address 1.2.3.4
Port 443
# first domain
Cert "/etc/pki/tls/letsencrypt_pound/pound_some1.pem"
# second domain
Cert "/etc/pki/tls/letsencrypt_pound/pound_some2.pem"
Disable SSLv3
End
答案1
除了服务目录,您还可以将 http 请求传递到 letsencrypt 中集成的 Web 服务器。只需添加服务(在常规服务规则之前),例如:
Service
URL "/.well-known/acme-challenge/"
IgnoreCase 1
BackEnd
Address 127.0.0.1
Port 8180
End
End
然后像这样调用 letsencrypt:
letsencrypt-auto certonly --standalone --http-01-port 8180 --standalone-supported-challenges http-01 -d domain1.com -d domain2.com -d www.domain1.com
等等(来自我旧的 letsencrypt 代码片段的配置,对于 certbot 应该有一些类似的东西)。之后,如果您不更改支持的域列表,则只需使用 letsencrypt-auto renew 即可。