HTTPS 背后的 Apache HTTP 虚拟机让加密

Apache HTTP VM Behind HTTPS Lets Encrypt

我已经阅读了很多看起来与我的完全相同的问题和答案,但我似乎无法让我的设置正常工作。我在 192.168.2.101:32773 有一个仅支持 HTTP 的虚拟机 运行 Apache。我可以在我的本地网络上访问它,这样就好了。我现在准备通过我的 Apache Web 服务器公开它,该服务器具有 Lets Encrypt 设置以生成 SSL 证书。所以我将它添加到我的服务器 conf 文件中:

<VirtualHost *:32773>
    ServerName server.com

    SSLEngine on
    SSLProxyEngine On
    SSLCertificateFile /etc/letsencrypt/live/server.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/server.com/privkey.pem

    ProxyRequests Off
    ProxyPreserveHost On
    ProxyPass / http://192.168.2.101:32773/
    ProxyPassReverse / http://192.168.2.101:32773/
</VirtualHost>

但是,当我尝试将其加载为 https://server.com:32773 时,我得到了一个 ERR_SSL_PROTOCOL_ERROR。但是,如果我将我的地址更改为 http://server.com:32773,它会加载得很好。这段代码看起来有什么问题吗?谢谢!

HTTP 和 HTTPS 需要在不同的端口上。通常 HTTPS 在端口 443 上提供服务。

这很尴尬...在某些时候,我更改了我的端口转发规则,将 32773 直接指向 192.168.2.101,这样我就可以验证这些规则是否有效。当我意识到我什至没有向我启用 SSL 的 Apache 服务器发送流量时,上面的配置就开始工作了。