This is not an HTTP port – How to solve this Elasticsearch error

Opster Team

July-20, Version: 1.7-8.0

Before you begin reading this guide, we recommend you try running the Elasticsearch Error Check-Up which analyzes 2 JSON files to detect many configuration errors.

Briefly, this error occurs when you are trying to access Elasticsearch using a port that is not an HTTP port. Elasticsearch uses HTTP for its API, so you will need to access it using an HTTP port.

To easily locate the root cause and resolve this issue try AutoOps for Elasticsearch & OpenSearch. It diagnoses problems by analyzing hundreds of metrics collected by a lightweight agent and offers guidance for resolving them.

Take a self-guided product tour to see for yourself (no registration required).

This guide will help you check for common problems that cause the log ” This is not an HTTP port ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: node.

Log Context

Log “This is not an HTTP port”classname  is TcpTransport.java We extracted the following from Elasticsearch source code for those seeking an in-depth context :

} 
 private static int readHeaderBuffer(BytesReference headerBuffer) throws IOException {
 if (headerBuffer.get(0) != 'E' || headerBuffer.get(1) != 'S') {
 if (appearsToBeHTTPRequest(headerBuffer)) {
 throw new HttpRequestOnTransportException("This is not an HTTP port");
 } 
 if (appearsToBeHTTPResponse(headerBuffer)) {
 throw new StreamCorruptedException("received HTTP response on transport port; ensure that transport port (not " +
 "HTTP port) of a remote node is specified in the configuration");

 

Watch product tour

Try AutoOps to find & fix Elasticsearch problems

Analyze Your Cluster
Skip to content