How to run glassfish 4 on port 80 instead of 8080? root access is not an issue

glassfish, glassfish-4, websocket

Solution

To run GlassFish on port 80 you need to :

Connect to the administration interface (by default on port :4848)

In the left menu go to Configurations

Then select the appropriate configuration you need to change eg server-config

Then go to Network Config

Then go to Network Listeners

Select the appropriate listener, probably http-listener-1

Change the Port value to 80

Save and reboot your GlassFish server/instance/cluster according to your needs

Using the command line utility

asadmin set configs.config.server-config.network-config.network-listeners.network-listener.http-listener-1.port=80 

you may need to replace `server-config` and/or `http-listener-1`

Problem

Did some google on it and the solution was to redirect using iptables or mod in apache? Since my application uses websockets the above solution breaks my websocket connectivity and I again have to connect to my websockets using port 8080. Is there any way that I can run the glassfish itself on port 80 so that my websockets also run on port 80 making easier for users behind corporate firewall to access the app since corparates may block 8080. I have root access as well.

Original source