[Zope] Zope + Apache + mod_proxy + SiteRoot = some links not proxied?

Tino Wildenhain tino at wildenhain.de
Mon Apr 10 06:58:10 EDT 2006


Alain Fauconnet schrieb:
> Hello readers,
> 
> I've spent quite some time looking around for the "right" procedure to
> integrate Zope and Apache.
> I use mod_proxy as described in a number of places, especially:
> http://www.zope.org/Members/anser/apache_zserver
> I've followed the instructions step by step and it "mostly" works,
> meaning that *some* links do not work:
> - the "... folder at /..." link at the top of the main frame in ZMI
> - the top-right menu (quick start, prefs, logout) in ZMI
> - the ZMI link in the home (quick start) page
> - ...
> These links do not get rewritten to get "/zope" prepended to the 
> local path part, so they give an error 404.
> 
> All other links work, though, so I think that my setup is "almost"
> right.
> 
> Am I missing something? I have created the SiteRoot object in the
> root (/) folder. Is this correct?
> Base is "http://my-server.my-domain.com/zope"
> Path is "/"
> 
> To somewhat work around this problem, I have had to add a bunch of
> extra ProxyPass statements in Apache's configuration, like:
> 
> ProxyPass /manage_page_style.css http://my-server.my-domain.com:8080/manage_page_style.css
> ProxyPass /manage_workspace http://my-server.my-domain.com:8080/manage_workspace
> ProxyPass /manage_zmi_logout http://my-server.my-domain.com:8080/manage_zmi_logout
> ProxyPass /manage_zmi_prefs http://my-server.my-domain.com:8080/manage_zmi_prefs
> ProxyPass /zope_quick_start http://my-server.my-domain.com:8080/zope_quick_start
> ProxyPass /manage http://my-server.my-domain.com:8080/manage
> ProxyPass /HelpSys  http://my-server.my-domain.com:8080/HelpSys
> ProxyPass /Examples  http://my-server.my-domain.com:8080/Examples
> ProxyPass /manage_importObject http://my-server.my-domain.com:8080/manage_importObject
> 
> This is probably not the right approach, but I can't find what is wrong in my
> setup.

I fear the resource you discovered is wrong and old.
Today, you have VirtualHostmonster (the "virtual_hosting" - object
you have in your Zope-Root per default) to take care of
rewriting the addresses. You only change the Rewrites to
signal the hostname you want to zope. (Virtual-Host-Monster
has hints for the format in its management interface - you
dont need to configure anything there, just read the example)

I usually dont use ProxyPass but mod_rewrite directly:

RewriteEngine On
RewriteRule ^/(.*) 
http://10.100.100.1:3128/VirtualHostBase/http/%{HTTP_HOST}:80/VirtualHostRoot/$1 
[P,L]


10.100.100.1:3128 is the host:port zope listens.

HTH
Tino Wildenhain


More information about the Zope mailing list