在反向代理之后设置apache基本authentication

我无法通过计算机A上的反向代理设置将htdigest身份validation传递到需要身份validation的计算机B.

我正在build立一个家庭开发networking,所有的基本工具(Trac,Hudson,Git,svn等等)。在大部分这些设置和运行中,我正在寻求允许从外面访问它们。 每个服务都在自己的虚拟机上运行,​​用于pipe理目的。 我已经设置了一个反向代理,它是所有端口80请求的目标,并根据path将它们redirect到正确的服务器。

问题performance如下。 trac页面/login需要凭据,然后redirect到主页。 您第一次访问它时,会要求提供凭据。 但是,当它将您redirect到主页时,您尚未login,任何尝试再次访问login页面,只是立即redirect到主页。

我的apacheconfiguration如下:

ProxyPass /trac http://server1/trac ProxyPassReverse /trac http://server1/trac <Proxy http://server1/trac> Order deny,allow Allow from all </Proxy> #<ProxyMatch http://server1/trac/[^/]+/login> # LoadModule auth_digest_module /usr/lib/apache2/modules/mod_auth_digest.so # SetEnv proxy-chain-auth On # AuthType Digest # AuthName "trac" # AuthDigestDomain /trac # AuthUserFile /etc/apache2/trac.htdigest # Require valid-user #</ProxyMatch> 

编辑:一些进一步的阅读表明,trac依赖于这种types的用户身份validation的cookie,所以我猜我需要以某种方式代理cookie。

我确定问题是我没有启用ProxyPassReverseCookieDomain指令:

 ProxyPassReverseCookieDomain external_addr server1 

希望这有助于未来的人