我在端口 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 中工作。
我是否遗漏了一些未配置的东西?
答案1
我找到了问题。配置没问题,但我检查了哪些端口是打开的LISTENING
- Apache 没有监听 TCP 端口 443,防火墙阻止了该端口上的连接。
httpd-vhost.conf
向防火墙添加规则以打开该端口,并在文件开头添加了一行
听 443
问题解决了。apache 上的 HTTPS 已加载。