2013-05-04 33 views
1

文摘URI不匹配我有我的网络上的两台服务器。一个有外部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

所以,我加入了新的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> 

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

+0

你所说的“CNAME”是什么意思?我与你的DNS主机有完全相同的问题 – Poul 2013-07-17 22:25:47

+0

CNAME记录,'A'记录也可以。从本质上讲,我使用http://my.site.com/Motes/去下使用http://internal.site.com/和设置在vhost.conf文件的虚拟主机在“附加”文件夹'config'文件夹。 – Motes 2013-07-18 14:31:32