Trac导致RuntimeError:实例.__ dict__在限制模式下无法访问

我有以下的Apacheconfiguration。 以下服务位于每个端口上:

8022 – Apache。 testing端口,从长远来看将是80端口。

8002 – XDV ,一个位于其他服务前面的主题代理。

8202 – Trac ,基于Python的bug跟踪器,这是xdv需要坐在前面的一个服务,因此是分离的。

8082 – Plone CMS 。 没有在Apache中显示。 XDV代理请求它。

这个想法是,所有请求都是通过Apache(8022),通过xdv代理(8002),它将一个主题应用到每个内容源(8082和8202)

但是,我注意到在testing过程中,如果我通过8202访问Trac站点,那么RuntimeError: instance.__dict__ not accessible in restricted mode的8022站点错误RuntimeError: instance.__dict__ not accessible in restricted mode并且在Apache重新启动之前将不会再次工作。 无论8022是错误还是被访问,8202仍然工作。

这似乎与这个Trac错误有关 。 但我没有使用mod_python和WSGIProcessGroup和WSGIApplicationGroup是相同的值。

为什么会发生这种情况是否有更好的方法来设置Apache? 即wsgi元素?

在以前的设置迭代是在8022主机内,但这意味着它也从这个端口服务,并避免代理

 <VirtualHost foo.bar.com:8022> ServerName foo.bar.com ServerAlias foo.bar.com ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPreserveHost On RewriteEngine On RewriteCond %{HTTP:Authorization} ^(.*) RewriteRule ^/(.*) http://0.0.0.0:8002/$1 [P] </VirtualHost> <VirtualHost foo.bar.com:8202> ServerName foo.bar.com ServerAlias foo.bar.com <Directory "/home/web/foo/parts/trac/tracwsgi/cgi-bin"> WSGIDaemonProcess trac stack-size=524288 python-path=/usr/lib/python2.5/site-packages WSGIScriptAlias /trac /home/web/foo/parts/trac/tracwsgi/cgi-bin/trac.wsgi WSGIProcessGroup %{GLOBAL} WSGIApplicationGroup %{GLOBAL} Options +Indexes FollowSymLinks AllowOverride None Allow from all Order allow,deny </Directory> <Location "/trac"> AuthBasicProvider ldap AuthType Basic AuthzLDAPAuthoritative off AuthName "Login" AuthLDAPURL "ldap://127.0.0.1:389/dc=foo-bar,dc=org?uid" AuthLDAPBindDN "cn=admin, dc=foo-bar, dc=org" AuthLDAPBindPassword secretword require valid-user </Location> </VirtualHost> 

首先,你应该有:

 WSGIProcessGroup trac 

而不是%{GLOBAL}。

你拥有它的方式,仍然运行在embedded式模式和其他一些Apache模块,或embedded式WSGI应用程序可能会干扰。