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 服务器发送流量时,上面的配置就开始工作了。
我已经阅读了很多看起来与我的完全相同的问题和答案,但我似乎无法让我的设置正常工作。我在 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 服务器发送流量时,上面的配置就开始工作了。