apache2apache-config

Apache Port Proxy


I have a non-Apache server listening to port 8001 and Apache listening port 80. I want a certain virtual domain to actually be served by the non-Apache server over port 80.

Example:

<VirtualHost *:80>
  Servername example.com

  # Forward this on to the server on port 8001
</VirtualHost>

I thought I could do this with mod_proxy and ProxyPass with something like this.

ProxyPass * http://www.example.com:8001/

But that doesn't work.


Solution

  • ProxyPass * http://www.example.com:8001/

    star is only valid in a block. Forward slash is what you want.

    ProxyPass / http://www.example.com:8001/
    ProxyPassReverse / http://www.example.com:8001/
    

    The reverse proxy ensures that redirects sent by your port 8001 server are adjusted to the canonical name name of your proxy.

    The apache manual has some examples. http://httpd.apache.org/docs/2.0/mod/mod_proxy.html