2013-05-04 3 views
1

네트워크에 서버가 두 개 있습니다. 하나는 외부 IP가 있고 다른 하나는 내부 용입니다. http://my.site.com/Motes/에가는 것은 실제로 주소 192.168.1.102에서 내부 서버의 루트로 이동하도록 그래서처럼, 내 서버 설정을 가지고 : 바깥쪽으로 향하도록 서버의프록시와 다이제스트 URI가 일치하지 않습니다.

을 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'은 무엇을 의미합니까? 정확히 같은 문제가 발생했습니다. – Poul

+0

DNS 호스트의 CNAME 레코드와 'A'레코드가 올바르게 작동합니다. 본질적으로 http://my.site.com/Motes/에서 http://internal.site.com/을 사용하고 vhost.conf 파일의 가상 호스트를 'extras'폴더 아래에 설치했습니다. 'config'폴더. – Motes