Arch Linux 上使用 Apache 2.4.23 进行 Let's Encrypt 时出现“无法连接”错误

Arch Linux 上使用 Apache 2.4.23 进行 Let's Encrypt 时出现“无法连接”错误

我有一个运行 Apache 2.4.23 的完全更新的 Arch Linux 服务器。

过去,我曾成功使用 StartSSL 在我的 Apache Web 服务器上启用 HTTPS。但现在我想切换到 Let's Encrypt。

使用 certbot standalone,我生成了以下文件:

/etc/letsencrypt/live/[my domain]/cert.pem
/etc/letsencrypt/live/[my domain]/chain.pem
/etc/letsencrypt/live/[my domain]/fullchain.pem
/etc/letsencrypt/live/[my domain]/privkey.pem

以下是我的 Apache SSL 指令:

SSLEngine on
SSLCertificateKeyFile /etc/letsencrypt/live/[my domain]/privkey.pem
SSLCertificateFile /etc/letsencrypt/live/[my domain]/cert.pem
SSLCertificateChainFile /etc/letsencrypt/live/[my domain]/chain.pem

# HSTS (mod_headers is required) (15768000 seconds = 6 months)
Header always set Strict-Transport-Security "max-age=15768000"
SSLProtocol +TLSv1.2

我仔细检查了 [我的域名] 是否正确,并且重新启动 Apache 没有产生任何错误,但现在尝试访问我的服务器时,我的网络浏览器会显示“无法连接”错误。

我是否遗漏了什么?谢谢!

答案1

对于 Apache 2.4,您只需要以下内容:

SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/{domain}/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/{domain}/privkey.pem

不需要像你之前做的那样把它分割开。

继续查看无法连接的消息。这说明您的服务器可能没有监听端口 443。使用 netstat 或类似命令,验证 Apache 是否确实在监听 :443。您还可以使用 netcat 测试服务器上与 :443 的连接,如下所示:

$ nc -v localhost 443
Connection to localhost 443 port [tcp/https] succeeded!

如果是这样的话,日志应该可以告诉你更多信息。

相关内容