agentcurry agentcurry - 1 month ago 11
Apache Configuration Question

Apache redirect to another port

I've struggled with this for some time and am definitely doing something wrong.

I have apache server and a JBoss server on the same machine. I'd like to redirect traffic for mydomain.com to JBoss localhost:8080/example. The DNS is currently setup for mydomain.com and it will go straight to port 80 when entered into the browser.

My question is how do I redirect to a different port when a certain domain name comes to apache (in this case, "mydomain.com")?

<VirtualHost ip.addr.is.here>
ProxyPreserveHost On
ProxyRequests Off
ServerName mydomain.com
ProxyPass http://mydomain.com http://localhost:8080/example
ProxyPassReverse http://mydomain.com http://localhost:8080/example
</VirtualHost>


UPDATED w/ Suggestions
- Still not forwarding to port 8080

<VirtualHost *:80>
ProxyPreserveHost On
ProxyRequests Off
ServerName mydomain.com
ServerAlias www.mydomain.com
ProxyPass http://mydomain.com http://localhost:8080/example
ProxyPassReverse http://mydomain.com http://localhost:8080/example
</VirtualHost>

Answer

You should leave out the domain http://example.com in ProxyPass and ProxyPassReverse and leave it as /. Additionally, you need to leave the / at the end of example/ to where it is redirecting. Also, I had some trouble with http://example.com vs. http://www.example.com - only the www worked until I made the ServerName www.example.com, and the ServerAlias example.com. Give the following a go.

<VirtualHost *:80> 
  ProxyPreserveHost On
  ProxyRequests Off
  ServerName www.example.com
  ServerAlias example.com
  ProxyPass / http://localhost:8080/example/
  ProxyPassReverse / http://localhost:8080/example/
</VirtualHost>