Please see the attached picture below, and then I will explain:


So, I have Solr running which uses port 8983. And as you can see in the screen shot, it's listed as "TCP *:8983 (LISTEN)". And, it's working correctly. I can remotely connect on port 8983 to my server and use Solr.

However, I also have Elasticsearch running which uses port 9200. As you can see in its listing, it is "TCP (LISTEN)". Unfortunately, I can not remotely connect on port 9200 and use Elasticsearch on my server. I'm guessing this is a clue as to why.

It's not a firewall issue, I'm certain of that. I've played around with the firewall in every way possible including opening the port in input and output or just not listing the port at all as well as removing all rules and nothing works.

Why can I not connect to port 9200 remotely but I can port 8983?

Also, it's not my router. I have both 8983 and 9200 forwarded to my server on my router.

1 Answer 1


A port listening on indicates that it is only listening on the loopback network interface (lo), meaning it can only be accessed from localhost. This is usually the default for security reasons.

You can configure Elasticsearch to listen on (all network interfaces) by setting network.host: in your elasticsearch.yml.

  • Ahhh, that's right! I sort of knew this at some point but completely forgot. Everything is good now, thank you very much!
    – Tony Friz
    Dec 15, 2018 at 22:06
  • 1
    I'd like to add a point specific to Elasticsearch. Once you configure network.host, Elasticsearch assumes that you are moving to a production configuration. This change in behaviour has a few implications.
    – Haxiel
    Dec 16, 2018 at 5:22

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .