I have a linux computer accessible from the internet and I have registered a free dynamic DNS service, let's say its address on the internet is xx.yy.com.On this computer I have two processes listening: tomcat on port 80 and a small program written by myself on 8080.As expected I can reach these two respectively with the URLs xx.yy.com and xx.yy.com:8080.I would like to set up a third-level domain to bind to the 8080 port, so that when I type (e.g.) aa.xx.yy.com on a browser it has the same effects of xx.yy.com:8080.I have no clue on how to do that, can it be done via tomcat configuration (I would rather it be a system configuration than having to rely on tomcat)?Do I have to set up some daemon to do it for me (I have read about bind)?Can it be done so that the port 8080 is hidden? I have realized that my work network blocks outgoing connections on ports that are not 80 or 443. So I figured out that a good solution to that may be to move tomcat on another port and put something on 80 to internally redirect  traffic to the correct socket. Can it be done? How? Any guide around?Thank you
Third level domains
bind;domain;url
You could look into SRV Records, but your question is fundamentally missing what DNS actually does.Notwithstanding the aforementioned SRV Recrod, all DNS does is translate a name (e. g. host.example.com) to an IP address (169.254.1.2); nothing more.  It's a network phone book.  It doesn't know or care about individual ports on a host which is assigned to an IP address.That said, there are ways to do what you ask:Apache VirtualHosts which proxy to the desired locationWeb pages that set up a full-window IFRAME which loads the desired location in a framsiptables or other firewall shenannigans