我的网络上有两台服务器。一个有外部IP,另一个只有内部IP。我有我的服务器设置,以便转到http://my.site.com/Motes/实际上转到地址为192.168.1.102的内部服务器的根目录,如下所示:
外向服务器的httpd.conf:
ProxyPass /Motes/ http://192.168.1.102/
ProxyPassReverse /Motes/ http://192.168.1.102/
<Proxy http://192.168.1.102/*>
Order allow,deny
Allow from All
AuthType Digest
AuthName "Motes"
AuthDigestDomain /
AuthDigestProvider file
AuthUserFile ps.wd
AuthGroupFile group.file
Require group usergroup
</Proxy>
这一直有效,直到我通过添加:
打开内部服务器上的摘要式身份验证AuthType Digest
AuthName "Motes"
AuthDigestDomain / /Motes/
AuthDigestProvider file
AuthUserFile ps.wd
AuthGroupFile group.file
Require group usergroup
到其他内部服务器根.htaccess文件。然后我的内部服务器抱怨:
[Sat May 04 09:37:32 2013] [error] [client ***.***.***.***] Digest: uri mismatch - </Motes/> does not match request-uri </>
任何人都知道如何解决这个问题?
答案 0 :(得分:0)
所以,我通过为我的内部服务器添加一个新的CNAME来解决这个问题,我的外部服务器直接代理到内部服务器,本质上是一个代理的虚拟主机。
<virtualhost *:80>
ServerName internal.site.com
ProxyPass / http://192.168.1.102:80/
ProxyPassReverse / http://192.168.1.102:80/
<Proxy http://192.168.1.102:80/* >
Order allow,deny
Allow from All
Satisfy Any
</Proxy>
</virtualhost>
然后内部服务器执行摘要身份验证,如问题所示。