0

Can you please guide me on this issue please. After install elasticsearch install successfully But while try this url [ http://localhost:9200 ] Geeting this issue after run [ curl http://localhost:9200 ] Error: curl: (52) Empty reply from server

enter image description here

elasticsearch.yml

# ======================== Elasticsearch Configuration =========================
      #
      # NOTE: Elasticsearch comes with reasonable defaults for most settings.
      #       Before you set out to tweak and tune the configuration, make sure you
      #       understand what are you trying to accomplish and the consequences.
      #
      # The primary way of configuring a node is via this file. This template lists
      # the most important settings you may want to configure for a production cluster.
      #
      # Please consult the documentation for further information on configuration options:
      # https://www.elastic.co/guide/en/elasticsearch/reference/index.html
      #
      # ---------------------------------- Cluster -----------------------------------
      #
      # Use a descriptive name for your cluster:
      #
      #cluster.name: my-application
      #
      # ------------------------------------ Node ------------------------------------
      #
      # Use a descriptive name for the node:
      #
      #node.name: node-1
      #
      # Add custom attributes to the node:
      #
      #node.attr.rack: r1
      #
      # ----------------------------------- Paths ------------------------------------
      #
      # Path to directory where to store the data (separate multiple locations by comma):
      #
      path.data: /var/lib/elasticsearch
      #
      # Path to log files:
      #
      path.logs: /var/log/elasticsearch
      #
      # ----------------------------------- Memory -----------------------------------
      #
      # Lock the memory on startup:
      #
      #bootstrap.memory_lock: true
      #
      # Make sure that the heap size is set to about half the memory available
      # on the system and that the owner of the process is allowed to use this
      # limit.
      #
      # Elasticsearch performs poorly when the system is swapping the memory.
      #
      # ---------------------------------- Network -----------------------------------
      #
      # By default Elasticsearch is only accessible on localhost. Set a different
      # address here to expose this node on the network:
      #
      #network.host: 192.168.0.1
      #
      # By default Elasticsearch listens for HTTP traffic on the first free port it
      # finds starting at 9200. Set a specific HTTP port here:
      #
      #http.port: 9200
      #
      # For more information, consult the network module documentation.
      #
      # --------------------------------- Discovery ----------------------------------
      #
      # Pass an initial list of hosts to perform discovery when this node is started:
      # The default list of hosts is ["127.0.0.1", "[::1]"]
      #
      #discovery.seed_hosts: ["host1", "host2"]
      #
      # Bootstrap the cluster using an initial set of master-eligible nodes:
      #
      #cluster.initial_master_nodes: ["node-1", "node-2"]
      #
      # For more information, consult the discovery and cluster formation module documentation.
      #
      # ---------------------------------- Various -----------------------------------
      #
      # Allow wildcard deletion of indices:
      #
      #action.destructive_requires_name: false

      #----------------------- BEGIN SECURITY AUTO CONFIGURATION -----------------------
      #
      # The following settings, TLS certificates, and keys have been automatically      
      # generated to configure Elasticsearch security features on 16-04-2022 08:53:38
      #
      # --------------------------------------------------------------------------------

      # Enable security features
      xpack.security.enabled: true

      xpack.security.enrollment.enabled: true

      # Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
      xpack.security.http.ssl:
        enabled: true
        keystore.path: certs/http.p12

      # Enable encryption and mutual authentication between cluster nodes
      xpack.security.transport.ssl:
        enabled: true
        verification_mode: certificate
        keystore.path: certs/transport.p12
        truststore.path: certs/transport.p12
      # Create a new cluster with the current node only
      # Additional nodes can still join the cluster later
      cluster.initial_master_nodes: ["vivek-HP-Laptop-14-ck2xxx"]

      # Allow HTTP API connections from localhost and local networks
      # Connections are encrypted and require user authentication
      http.host: [_local_, _site_]

      # Allow other nodes to join the cluster from localhost and local networks
      # Connections are encrypted and mutually authenticated
      #transport.host: [_local_, _site_]

      #----------------------- END SECURITY AUTO CONFIGURATION ----------------------

3 Answers 3

1

Just open this file using command below command

sudo nano  /etc/elasticsearch/elasticsearch.yml

and replace this setting with false
# Enable security features
xpack.security.enabled: false

After above change restart elasticsearch and check.

Thanks.

2
  • Thank you so much it's helped me. great brother. :)
    – Vivek
    Apr 17, 2022 at 20:10
  • 1
    mm that sounds not good
    – Rodrigo
    Oct 15, 2022 at 22:00
0

check version: curl -XGET 'http://localhost:9200'

check health: curl -XGET 'localhost:9200/_cluster/health?pretty'

EDIT: You can also check this article describing the reasons for this occurring > https://epictools.dev/how-to-fix-the-error-curl-52-empty-reply-from-server/

1
  • Unfortunately this doesn't help me one single bit. Both command geeting same error [ curl: (52) Empty reply from server ]
    – Vivek
    Apr 16, 2022 at 16:45
0

I had the same problem, running elasticsearch 7 with docker I got a working response, but when I installed Elasticsearch 8 I got an empty answer.
Just change the curl request from curl -X GET 'http://localhost:9200' to https with

curl --cacert /etc/elasticsearch/certs/http_ca.crt -u elastic https://localhost:9200 

You'll need the password for the elastic user that was generated during installation.

check elastic reference documentation

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.