Apache SSL Proxypass为zope提供不安全的内容

时间:2014-03-21 03:41:35

标签: apache plone zope

用apache配置尝试重定向或代理其他网络服务器时遇到了障碍。有谷歌相当长一段时间,但我被困在下面的场景中提到。除了为一些开箱即用的Web应用程序(如Plone,cmdbuild等)使用apache之外,我对apache没有太多经验。为Apache的配置留下安全性,我试图以错误的方式实现某些目标。请告诉我你的意见和其他可能的方法来实现我想要做的事情。我打算在https下运行所有​​网站。

情景:

服务器1 - 10.0.0.1(CentOS 6.5) 在端口80上运行的Apache(版本2.2.5)(启用SSL) - 主Web服务器 Zope(Plone)在端口8080上运行     位点:

http://10.0.0.1:8080/site1

http://10.0.0.1:8080/site2

服务器2 - 10.0.0.2(CentOS 6.5)     Tomcat在端口8080上运行     网站:http://10.0.0.3:8080/site3 服务器3 - 10.0.0.3(Windows Server 2008)     IIS在端口80上运行     网站:http://10.0.0.4/site4

如果在apache ssl.conf上使用ProxyPass和Proxy PassReverse,如下所示:

ProxyPass /site1 http://10.0.0.1:8080/site1
ProxyPassReverse /site1 http://10.0.0.1:8080/site1

ProxyPass /site2 http://10.0.0.1:8080/site2 
ProxyPassReverse /site2 http://10.0.0.1:8080/site2 

ProxyPass /site3 http://10.0.0.2:8080/site3 
ProxyPassReverse /site3 http://10.0.0.2:8080/site3 

ProxyPass /site4 http://10.0.0.1:8080/site4 
ProxyPassReverse /site4 http://10.0.0.1:8080/site4

站点3和站点4在启用ssl的情况下工作正常但站点1和站点2(在localhost zope下运行)也正常工作但内容未正确显示,因为

“连接部分加密 您正在查看的页面部分未加密......“

如果使用RewriteEngine而不是ProxyPass,如下所示,则site1和site2在ssl下运行完美。

RewriteEngine On
RewriteRule ^/(.*) http://10.0.0.1:8080/VirtualHostBase/https/%{SERVER_NAME}:443/site1/VirtualHostRoot/$1 [L,P]

但其他网站site3和site4无法访问。

Apache httpd.conf刚刚重定向到https

<VirtualHost *:80>

    Redirect permanent / https://10.0.0.1/

</VirtualHost>

1 个答案:

答案 0 :(得分:0)

如果您的重写规则适用于除site1之外的其他任何内容,那么因为获取正在使其他网站显示在site1中。你不想依赖它。

相反,每个网站都有一个单独的重写规则:

    RewriteEngine On
    RewriteRule ^/site1(.*) http://10.0.0.1:8080/VirtualHostBase/https/{SERVER_NAME}:443/site1/VirtualHostRoot/$1 [L,P]
    RewriteRule ^/site2(.*) http://10.0.0.1:8080/VirtualHostBase/https/{SERVER_NAME}:443/site2/VirtualHostRoot/$1 [L,P]   
    RewriteRule ^/site3(.*) http://10.0.0.2:8080/VirtualHostBase/https/{SERVER_NAME}:443/site3/VirtualHostRoot/$1 [L,P]    
    RewriteRule ^/site4(.*) http://10.0.0.1:8080/VirtualHostBase/https/{SERVER_NAME}:443/site4/VirtualHostRoot/$1 [L,P]

请勿尝试使用一个重写规则执行此操作,否则您将通过代理公开您的Zope根目录。一个坏主意。