我在端口 80 和 443 上配置了 Apache 代理传递。端口 80 有效,但对于 443,我似乎没有得到任何响应。从我的公共 ip 我没有得到服务器的响应。这是我在文件中获得的虚拟主机配置httpd-vhost.conf
这按预期工作
<VirtualHost *:80>
ServerName subdomain.example.com
ServerAlias subdomain.example.com
SSLProxyCheckPeerName Off
ProxyPreserveHost On
ProxyRequests Off
ProxyPass / http://{LOCAL_IP}/
ProxyPassReverse / http://{LOCAL_IP}/
</VirtualHost>
这不起作用。
<VirtualHost *:443>
ServerName subdomain.example.com
ServerAlias subdomain.example.com
SSLEngine On
SSLProxyEngine On
SSLProxyCheckPeerCN On
SSLProxyCheckPeerName Off
SSLCertificateFile C:\{PATH_TO_CERTS}\cert.pem
SSLCertificateKeyFile C:\{PATH_TO_KEY}\key.pem
ProxyPreserveHost On
ProxyRequests Off
ProxyPass / https://{LOCAL_IP}/
ProxyPassReverse / https://{LOCAL_IP}/
</VirtualHost>
但出于测试目的,我设置了一个 VirtualBox 环境 NAT 用于端口转发。并从本机443端口转发到虚拟机443端口;并且站点确实在端口 443 中工作。
我错过了我没有配置的东西吗?
我发现了问题。配置没问题,但我检查了哪些端口是打开的
LISTENING
- Apache 没有在 TCP 端口 443 上侦听,防火墙阻止了该端口上的连接。向防火墙添加了打开该端口的规则,我在
httpd-vhost.conf
文件开头添加了一行问题就解决了。已加载基于 apache 的 HTTPS。