It could be that my expectations are incorrect, but I assumed I'd see the following behavior after configuring an instance of Apache as a reverse proxy:
- I hit server1:9089 which runs a reverse proxy rule to forward requests to Server8:80
- My request is redirected to Server8:80 which serves content
- My browser should show me that I'm still "sitting" on server1:80, not Server8:80
I'm not seeing this. After I am redirected, the hostname of the machine that I was directed to shows up in address bar of the browser. (and was visible in the status bar of the browser during the redirect)
I thought part of the "goodness" of a reverse proxy was that it hides the machine/machines doing the heavy lifting (Server8, in this case) from the user?
Here is what (I think) is the relevant part of my httpd.conf:
#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
localhost:9089
#
# Deny access to the entirety of your server's filesystem. You must
# explicitly permit access to web content directories in other
# <Directory> blocks below.
#
<Directory />
AllowOverride none
Require all denied
</Directory>
#####PROXY
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://server8/
ProxyPassReverse / http://server8/
Can anyone give me a feel for what I'm doing wrong here? Or do I not understand something more fundamental about what a reverse proxy can and can't do for me?
Thanks much!