我安装NginX作为Apache的反向代理。然后将其设置为监听端口(443)的https,并让Apache监听端口8443的https。参观时:
https://www.sample.com:443 https://www.sample.com:8443
字符串通过一个普通的浏览器,如Chrome,那么两者都可以。但是当使用webpagetest来测试上述两个URL时,第一个是可以的,但是第二个总是会返回超时错误。为什么?为什么?
yquaqz181#
从所描述的设置中,您将Nginx设置为Apache的反向代理,Nginx在标准HTTPS端口(443)上侦听,Apache在端口8443上侦听。当客户端连接到标准端口时,请求将通过Nginx正确转发到Apache,并且网站内容将按预期提供。但是,当尝试在端口8443上直接连接到Apache时,WebPageTest遇到超时错误。
+---------+ +-----------+ +---------+ +------------+ +---------------+ | Client | --> | Nginx:443 | --> | Apache | --> | Website | | WebPageTest | | Browser | | (reverse | | :8443 | | Content | <-- | (timeout on | | | | proxy) | | | | | | :8443) | +---------+ +-----------+ +---------+ +------------+ +---------------+ | | | | +-----> Standard flow +-----> Issue occurs here
字符串首先,确保您的防火墙规则允许端口8443上的通信。例如,如果您使用的是Linux,则为sudo ufw allow 8443/tcp。请尝试从其他网络或使用其他工具访问https://sample.com:8443,以查看问题是否仍然存在。
sudo ufw allow 8443/tcp
https://sample.com:8443
curl -ILv https://sample.com:8443
型检查您的Apache setting:它必须侦听端口8443,并具有正确的SSL/TLS配置。
Listen 8443 <VirtualHost *:8443> SSLEngine on SSLCertificateFile /path/to/your/certificate.crt SSLCertificateKeyFile /path/to/your/private.key ... </VirtualHost>
型查看private Web server install上的WebPageTest文档,了解可能对您的设置产生影响的任何选项。
1条答案
按热度按时间yquaqz181#
从所描述的设置中,您将Nginx设置为Apache的反向代理,Nginx在标准HTTPS端口(443)上侦听,Apache在端口8443上侦听。当客户端连接到标准端口时,请求将通过Nginx正确转发到Apache,并且网站内容将按预期提供。但是,当尝试在端口8443上直接连接到Apache时,WebPageTest遇到超时错误。
字符串
首先,确保您的防火墙规则允许端口8443上的通信。例如,如果您使用的是Linux,则为
sudo ufw allow 8443/tcp
。请尝试从其他网络或使用其他工具访问
https://sample.com:8443
,以查看问题是否仍然存在。型
检查您的Apache setting:它必须侦听端口8443,并具有正确的SSL/TLS配置。
型
查看private Web server install上的WebPageTest文档,了解可能对您的设置产生影响的任何选项。