带有 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密钥密码~
带有 IE、XMLHttpRequest 和 ssl (https) 的 CORS