Apache2 – Hosting two sites on the same domain with different ports

apache-2.2opensuseportvirtualhost

I am hosting a staging site (test.mydomain.com) which currently work well on port 80 for two sites (test.mydomain.com and test.FRmydomain.com)

I am working on a new backend and I would like to deploy a third site on this server for testing. My hope is that it will live at test.mydomain.com:4204. I've got some experience with apache and quickly added statements:
Listen 4204
NameVirtualHost *:4204

and created a new config for my site. What I imagine are the relevant parts of my config:

<VirtualHost *:4204 >
    ServerAdmin webmaster@dummy-host.example.com
    ServerName test.mydomain.com:4204

However, the site is not publicly available, by name or ip. If i

curl localhost:4204

from the server, I get the expected page content

At this point, I'm a bit of a loss on how to go forwards. It seems like my config is correct but not available to be served. Am I better off defining a proxy definition so that, for instance:

test.mydomain.com/4204

proxies to my localhost server or is there a way to make the site available via the internet?

EDIT:
I have added an iptable rule after further Googling with the command:

iptables -I INPUT -p tcp --dport 4204 -j ACCEPT

I can see apache listening on 4204 and the rule is definitely in place but cant reach the site

Best Answer

Change

"ServerName test.mydomain.com:4204" 

to

"ServerName test.mydomain.com".

The first line in your example is specifying the port so you don't have to do it again.