Elastic search will not bind to port 80 (no web server is running)

I am trying elasticsearch as a standalone search for WordPress. I created a new server on Ubuntu 20.04 LTS with nothing but elasticsearch. I did nothing to the config file, accepting all defaults. It started fine on port 9200. The WordPress plugin needs port 80 (silly thing), so I modifed the yml file to use http.port = 80. There is no web server running on port 80. Netstat proves it. Yet elasticsearch fails to start with bind permission denied. It starts fine on port 9200.

Why? What can be done?

Welcome!

I think that on some linux machine you need some super user powers to run a service on a port like 80.

Are you sure that you can't configure the plugin to use the 9200 port?

I have full root access but it just will not run on port 80. No idea why.

What address are you using to bind that port ? 0.0.0.0:80 or 127.0.0.1:80 or something else like 192.168.0.1:80 as an example ?

Also when you do an nmap or netstat on the machine, so you see anything binded to that port ?

I already did the obvious, using netstat to ensure nothing is running on port 80. Besides, this is a brand new VPS and web server software is not even installed at all. At this point I am just dealing with using port 9200 and do not have the time to spend on this debugging.

Maybe sharing your Elasticsearch.yml file in the meanwhile might indicate where the problem is?

it's either a network binding issue or a configuration issue. If it works on the default configuration, that rules out the software at least.

@lsnwebmaster Welcome to the community.

Exactly How are you starting Elasticsearch? What Command? systemctl?