1

我一直遇到 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 443NameVirtualHost *:443我在另一个端口上的服务运行良好,因为wget响应 HTTP 200 OK 响应,我可以通过手动输入端口号来访问它。我也禁用了所有防火墙(用于测试)也无济于事。但是,每当我尝试通过 mod_proxy(端口 443)从外部世界访问服务时,请求超时并且我得到通常的“网站不可用”浏览器错误。

如果这意味着什么,我在需要将 HTTPS 流量转发到的另一个端口上运行的应用程序是 Play Framework 2.1 应用程序。我完全按照他们的文档设置服务器,但仍然存在这些问题,所以我假设它可能与 Azure 有关。

有任何想法吗?是否需要针对 Windows Azure 虚拟机进行一些其他类型的端点配置以支持 SSL/TLS?

4

1 回答 1

0

所以,显然,我不知道如何或为什么 - 但蔚蓝之神突然决定照耀我的设置。一夜之间,无需重新启动或其他任何操作,Azure 上的 mod_proxy 就开始工作了。我不知道问题是什么,或者即使一开始就有问题,但显然问题出在 Azure 基础架构中。

抱歉,对于遇到类似问题的其他人,我无法提供更多帮助,但是出于某种未知原因,只是给它一些时间。

于 2013-10-04T15:14:11.657 回答