I have an Apache Webserver running, which is reachable over the ip/port-combination 123.456.789:9000 from my browser.

Also I have a GitLab instance running on the ip/port-combination 123.456.789:8888 and a GitLab module named KanBan on 123.456.789:8889.

If someone requests the website 123.456.789:9000/gitlab I want the Apache Webserver to route the request to 123.456.789:8888.

Respectively If someone requests 123.456.789:9000/kanban I want the Apache Webserver route to 123.456.789:8889.

So instead of opening the ports 8888 and 8889 directly I want the Apache Webserver to function as a tunnel, which binds the two adresses to different ports internally while the ip remains the same.

I read that this kind of configuration is done inside httpd.conf and involses adding so called virtual hosts therein. Also it could involve some Linux specific routing via bind command.

Is this correct and if so can someone point me in the right direction of how to adpat the httpd.conf file?

If this is not possible how could I nevertheless configure it on my CentOs 7.1 Server?

EDIT-1: Before cross-posting this on https://serverfault.com/ could an Administrator/Mod do it?

EDIT-2: I have found this https://stackoverflow.com/questions/8541182/apache-redirect-to-another-port and it looks like its the same use case, but i am still trying it out.

EDIT-3: After checking in with people in the IRC Channel #httpd, I was told that Apache Reverse Proxies should do the trick and was given this resource, http://www.apachetutor.org/admin/reverseproxies, which i am currently working on.


Assuming you have a simple httpd configuration, a neat way to implement what you are looking for would be:

  • Create a file named /etc/httpd/conf.d/gitlab.conf with the contents:

    ProxyPass "/gitlab" "http://123.456.789:8888"
    ProxyPassReverse "/gitlab" "http://123.456.789:8888"
  • Create another file named /etc/httpd/conf.d/kanban.conf with the contents:

    ProxyPass "/kanban" "http://123.456.789:8889"
    ProxyPassReverse "/kanban" "http://123.456.789:8889"
  • Restart httpd.

I hope this helps.

  • I browse to and see Service Unavailable - The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later. – kiltek Jan 19 '16 at 6:59

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.