带有 mod-proxy 和 SSL 的 Apache VirtualHost

Posted

技术标签:

【中文标题】带有 mod-proxy 和 SSL 的 Apache VirtualHost【英文标题】:Apache VirtualHost with mod-proxy and SSL 【发布时间】:2010-11-02 18:07:42 【问题描述】:

我正在尝试设置具有多个 Web 应用程序的服务器,这些应用程序都将通过 apache VirtualHost(运行在同一台服务器上的 apache)提供服务。我的主要限制是每个 Web 应用程序都必须使用 SSL 加密。在谷歌搜索了一段时间并查看了有关 *** 的其他问题后,我为 VirtualHost 编写了以下配置:

<VirtualHost 1.2.3.4:443>
    ServerName host.domain.org

    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    SSLProxyEngine On
    ProxyRequests Off
    ProxyPreserveHost On
    ProxyPass / https://localhost:8443/
    ProxyPassReverse / https://localhost:8443/
</VirtualHost>

即使https://host.domain.org:8443 可以访问,https://host.domain.org 也不能访问,这违背了我的虚拟主机配置的目的。 Firefox 抱怨即使它成功连接到服务器,连接也会中断。 Chrome 返回错误 107:net::ERR_SSL_PROTOCOL_ERROR。

最后我还要提一下,当我不使用 SSL 时,虚拟主机可以正常工作。

我怎样才能做到这一点?

谢谢

【问题讨论】:

这可能更适合 serverfault.com 【参考方案1】:

您不需要在 Apache 和 Tomcat 中都配置 SSL。

实现这一点的最简单方法是仅在 Apache 上配置 SSL 并使用 http 代理到 tomcat。

【讨论】:

但是您会丢失 SSL 上下文,如果您使用带有 CLIENT-CERT 身份验证方法的 web 应用程序,这将非常有用。

以上是关于带有 mod-proxy 和 SSL 的 Apache VirtualHost的主要内容,如果未能解决你的问题,请参考以下文章

linux下的ssl证书密码忘记怎么破?重启httpd的时候需要输入ssl密钥密码~

带有 SSL 和证书的 iPhoneHTTPServer

带有 jetty 9 和 ssl 的弹簧靴

带有 IE、XMLHttpRequest 和 ssl (https) 的 CORS

带有 HTTPS 的 NXLog:如何配置 SSL 和证书?

使用 ssl 证书和带有卷的密钥部署 postgresql docker