Azure 上的 Apache mod_proxy

标签 apache azure ssl apache2 playframework-2.1

我一直遇到 Apache 的 mod_proxy 的问题,它不会转发任何流量。我使用的是运行 Ubuntu 13.04 的 Windows Azure 虚拟机,并为其配置了正确的 HTTPS 端点(端口 443)。正确的 Apache 模块(代理、ssl 等)都已安装,错误日志没有显示任何内容,甚至没有警告来解释为什么会发生这种情况。我的虚拟主机设置如下:

<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?

最佳答案

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

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

关于Azure 上的 Apache mod_proxy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19040784/

相关文章:

c# - 带有 token 的Azure函数单例

reactjs - Azure IIS 重写中的 React 路由器

c# - 用于注册设备并接收通知的 Azure 通知中心示例

python - Django 项目上的 SSL(django-sslserver) 问题

node.js - 负载均衡器上的 NodeJs/ExpressJs TLS 配置

apache - 如何在hive中获取数据库用户名和密码

java - 为什么没有简单的方法来使用 Java 中的 Web 服务?

python - 如何在 Django LDAP 登录上应用哈希 SHA256?

php - mod_rewrite : Trailing slash on URL with two GET variables

apache - HTTPS 和 Zend 框架