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?