我一直遇到Apache的mod_proxy问题,它不会转发任何流量。我正在使用运行Ubuntu 13.04的Windows Azure虚拟机,并为其配置了正确的HTTPS端点(端口443)。安装了正确的Apache模块(代理,ssl等),错误日志没有显示任何内容,甚至没有警告解释为什么会发生这种情况。我的VirtualHost设置如下:
<VirtualHost *:443>
RequestHeader set X-Forwarded-Proto "https"
ProxyPreserveHost On
ServerName www.example.com
SSLEngine On
#SSLProxyEngine On
SSLCertificateFile /ssl/my.com.crt
SSLCertificateKeyFile /ssl/my.key
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<Location />
SSLRequireSSL
Order deny,allow
Allow from all
</Location>
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/
</VirtualHost>
我也设置了Listen 443
和NameVirtualHost *:443
。我在另一个端口上的服务运行正常,因为wget
响应HTTP 200 OK响应,我可以通过手动输入端口号来达到它。我已禁用所有防火墙(用于测试)也无济于事。但是,每当我尝试通过mod_proxy(端口443)从外部世界到达服务时,请求超时并且我得到通常的“网站不可用”浏览器错误。
如果它意味着什么,我在另一个端口运行的应用程序我需要转发HTTPS流量是一个Play Framework 2.1应用程序。我完全按照文档设置服务器,但仍然存在这些问题,所以我假设它可能与Azure有关。
有什么想法吗?是否需要针对Windows Azure虚拟机进行特定的其他类型的端点配置以支持SSL / TLS?
答案 0 :(得分:0)
所以,显然,我不知道如何或为什么 - 但Azure Gods决定突然发现我的设置。一夜之间,没有重启或任何东西,Azure上的mod_proxy刚开始工作。我不知道问题是什么,或者即使首先存在问题,但显然问题出在Azure基础架构中。
很抱歉,对于遇到类似问题的其他人来说,我无法获得更多帮助,但只是因为一些未知原因让时间工作。