accessing REMOTE_USER through an Apache proxy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



We proxy connections trough Apache to GlassFish Web Applications, and would like to give those applications access to the http REMOTE_USER variable.  To make sure this is not related to GlassFish, I have created a very basic test script.  The kerberos authentication and Apache proxy work properly, and the script is able to see the REMOTE_USER variable when called directly.  However, the script can not see the  REMOTE_USER variable when it's accessed through a proxy.  It seems as though this has been discussed several times, but I have not been able to make any of the proposed solutions work.

Here is the relevant portion of our configuration file file.

------
######
# GlassFish proxy
ProxyPreserveHost       on

RewriteEngine           on
RewriteLog /var/log/httpd/rewrite.log
RewriteLogLevel 9

RequestHeader Set Proxy-keysize 512
RequestHeader Set Proxy-ip %{REMOTE_ADDR}e
RequestHeader Set Host ourserver.com:443
RequestHeader set REMOTE_USER %{LA-U:REMOTE_USER}e

RewriteRule ^/test$ /test/ [R,L]
RewriteRule ^/test/(.*) http://localhost/cgi-bin/test/$1 [P,L,E=REMOTE_USER:%{LA-U:REMOTE_USER}]
<Location "/test">
       order deny,allow
       deny from all
       AuthType KerberosV5
       AuthName "kerberos authentication"
       Satisfy any
       require valid-user
</Location>
------

And here is what I see in rewrite.log.  REMOTE_USER is eventually set properly, just not soon enough for the script.
------
... [rid#8aa28f8/initial] (2) init rewrite engine with requested uri /test/remote.cgi
... [rid#8aa28f8/initial] (3) applying pattern '^/test$' to uri '/test/remote.cgi'
... [rid#8aa28f8/initial] (3) applying pattern '^/test/(.*)' to uri '/test/remote.cgi'
... [rid#8aa28f8/initial] (2) rewrite /test/remote.cgi -> http://localhost/cgi-bin/test/remote.cgi
... [rid#8aa4900/subreq] (2) init rewrite engine with requested uri /test/remote.cgi
... [rid#8aa4900/subreq] (1) pass through /test/remote.cgi
... [rid#8aa28f8/initial] (5) lookahead: path=/test/remote.cgi var=REMOTE_USER -> val=
... [rid#8aa28f8/initial] (5) setting env variable 'REMOTE_USER' to ''
... [rid#8aa28f8/initial] (2) forcing proxy-throughput with http://localhost/cgi-bin/test/remote.cgi
... [rid#8aa28f8/initial] (1) go-ahead with proxy request proxy:http://localhost/cgi-bin/test/remote.cgi [OK]
... [rid#8aa8908/initial] (2) init rewrite engine with requested uri /test/remote.cgi
... [rid#8aa8908/initial] (3) applying pattern '^/test$' to uri '/test/remote.cgi'
... [rid#8aa8908/initial] (3) applying pattern '^/test/(.*)' to uri '/test/remote.cgi'
... [rid#8aa8908/initial] (2) rewrite /test/remote.cgi -> http://localhost/cgi-bin/test/remote.cgi
... [rid#8abcf90/subreq] (2) init rewrite engine with requested uri /test/remote.cgi
... [rid#8abcf90/subreq] (1) pass through /test/remote.cgi
... [rid#8aa8908/initial] (5) lookahead: path=/test/remote.cgi var=REMOTE_USER -> val=dab66
... [rid#8aa8908/initial] (5) setting env variable 'REMOTE_USER' to 'dab66'
... [rid#8aa8908/initial] (2) forcing proxy-throughput with http://localhost/cgi-bin/test/remote.cgi
... [rid#8aa8908/initial] (1) go-ahead with proxy request proxy:http://localhost/cgi-bin/test/remote.cgi [OK]
------

Any suggestions would be greatly appreciated.  Please let me know if there is any more information I can provide.

Many thanks,
Devin

[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux