Search code examples
apachetomcatcentosport80

HTTP through a proxy server is not allowed


When I try to connect to my Tomcat server on http://<servername>:8080 it works fine, but from another ISP provided it gives the following error:

HTTP through a proxy server is not allowed.

Some ISP apparently don't allow http over the port 8080, as they think the client uses a proxy.

I also have a httpd running on port 80 for my website.

So in order to avoid the proxy error, I would like to make to following routing:

  • If the user connects to http://<servername>, then the website is served via apache.
  • If the user connects to http://<servername>/AppName, then the port is rerouted to 8080, without the client (or his ISP) knowing.

Is that possible (using iptables or something else) ?

Thank you


Solution

  • you can configure Apache to do this for you using mod_proxy

    In your apache conf add something like this

    ProxyPass /appName http://localhost:8080/appName
    ProxyPassReverse /appName http://localhost:8080/appName
    

    http://httpd.apache.org/docs/current/mod/mod_proxy.html

    With Tomcat you can also use mod_proxy AJP

    http://httpd.apache.org/docs/current/mod/mod_proxy_ajp.html