Question

I have two servers on my network. One has an external IP, the other internal only. I have my server setup so that going to http://my.site.com/Motes/ actually goes to the root of the internal server at address 192.168.1.102, like so:

httpd.conf of outward facing server:

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>

This works until I turn on Digest authentication on the interal server by adding:

AuthType Digest
AuthName "Motes"
AuthDigestDomain / /Motes/
AuthDigestProvider file
AuthUserFile ps.wd
AuthGroupFile group.file
Require group usergroup

to the other internal server root .htaccess file. Then my internal servers complains about:

[Sat May 04 09:37:32 2013] [error] [client ***.***.***.***] Digest: uri mismatch - </Motes/> does not match request-uri </>

Anyone know how to fix this?

Was it helpful?

Solution

So, I fixed this by adding a new CNAME for my internal server that my external facing server proxied directly to the internal server, in essence a proxied virtual host.

<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>

Then the internal server enforces digest authentication like in the question.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top