4lvin
By:
4lvin

Assign Domain Name on a IP:PORT Listener

November 9, 2017 146 views
DNS Networking CentOS

On one of my Droplets, I have a Java Socket Listener at Port :5000. Something like:

ServerSocket serverSocket = new ServerSocket(5000);
Socket socket = serverSocket.accept();

And since there is an Public IP Address on my Droplet, i am able to listen at (example):

123.123.123.123:5000

It is fine. But now, how do i make my Domain Name to be applied on top of IP Address please. I mean, to be like:

www.example.com:5000

I have my DNS already pointing to Server. But I don't know how to apply (or) bind it to a Port like that. Is it about NGINX? Or can it be done with Apache too? (Because i have Apache also running inside for Web Server) But how do i achieve that please?

Please kindly help.

1 Answer

This is something Apache can do. You are looking for proxypass settings.

Example

<VirtualHost *:*>
    ProxyPreserveHost On
    ProxyPass / http://0.0.0.0: 5000/
    ProxyPassReverse / http://0.0.0.0: 5000/

    ServerName localhost
</VirtualHost>

You may need to install the apache mods to make this work.

This guide should help you https://www.digitalocean.com/community/tutorials/how-to-use-apache-http-server-as-reverse-proxy-using-mod_proxy-extension

by O.S. Tezer
In this DigitalOcean article, we are going to see set up Apache on Ubuntu 13 and use it as a reverse-proxy to welcome incoming connections and redirect them to application server(s) running on the same network. For this purpose, we are going to use and work with the mod_proxy extension and several other related Apache modules.
Have another answer? Share your knowledge.