1

我的网络上有两台服务器。一个有外部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 </>

有人知道怎么修这个东西吗?

4

1 回答 1

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>

然后内部服务器像问题中那样强制执行摘要身份验证。

于 2013-05-04T18:32:31.773 回答