# Curl localhost port 3128: Connection refused

**URL:** <https://discuss.elastic.co/t/curl-localhost-port-3128-connection-refused/101011>\
**Category:** Elasticsearch\
**Created:** [September 19, 2017, 11:03am UTC](https://discuss.elastic.co/t/curl-localhost-port-3128-connection-refused/101011 "2017-09-19T11:03:55Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Maxclac](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/maxclac/32/29107_2.png) [@Maxclac](https://discuss.elastic.co/u/Maxclac)\
**Post date:** [September 19, 2017, 11:03am UTC](https://discuss.elastic.co/t/curl-localhost-port-3128-connection-refused/101011/1 "2017-09-19T11:03:56Z")

</div>

Hello everyone!  
I am currently using Elasticsearch 5.6.1 and I have the following problem:

```
curl -X GET http://localhost:9200/
curl: (7) Failed to connect to localhost port 3128: Connection refused

```

What is this port 3128?

I de-installed and re-installed Elasticsearch several times but it does not help.  
I am using Linux Mint Sonya.

Thank you!

---

<div class="post-metadata">

**Author:** ![poojagupta](https://avatars.discourse-cdn.com/v4/letter/p/5daacb/32.png) [@poojagupta](https://discuss.elastic.co/u/poojagupta)\
**Post date:** [September 19, 2017, 11:07am UTC](https://discuss.elastic.co/t/curl-localhost-port-3128-connection-refused/101011/2 "2017-09-19T11:07:52Z")

</div>

@Maxclac

Your elasticsearch is pointing to 3128 port. Have you done any modification for port in the elasticsearch.yml file?  
share your configuration file

---

<div class="post-metadata">

**Author:** ![Maxclac](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/maxclac/32/29107_2.png) [@Maxclac](https://discuss.elastic.co/u/Maxclac)\
**Post date:** [September 19, 2017, 11:38am UTC](https://discuss.elastic.co/t/curl-localhost-port-3128-connection-refused/101011/3 "2017-09-19T11:38:04Z")

</div>

```
# ======================== 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: /path/to/data
#
# Path to log files:
#
#path.logs: /path/to/logs
#
# ----------------------------------- 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 -----------------------------------
#
# Set the bind address to a specific IP (IPv4 or IPv6):
#
#network.host: 192.168.0.1
#
# Set a custom port for HTTP:
#
http.port: 9200
#
# For more information, consult the network module documentation.
#
# --------------------------------- Discovery ----------------------------------
#
# Pass an initial list of hosts to perform discovery when new node is started:
# The default list of hosts is ["127.0.0.1", "[::1]"]
#
#discovery.zen.ping.unicast.hosts: ["host1", "host2"]
#
# Prevent the "split brain" by configuring the majority of nodes (total number of master-eligible nodes / 2 + 1):
#
#discovery.zen.minimum_master_nodes: 3
#
# For more information, consult the zen discovery module documentation.
#
# ---------------------------------- Gateway -----------------------------------
#
# Block initial recovery after a full cluster restart until N nodes are started:
#
#gateway.recover_after_nodes: 3
#
# For more information, consult the gateway module documentation.
#
# ---------------------------------- Various -----------------------------------
#
# Require explicit names when deleting indices:
#
#action.destructive_requires_name: true
```

---

<div class="post-metadata">

**Author:** ![colings86](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/colings86/32/44960_2.png) [@colings86](https://discuss.elastic.co/u/colings86)\
**Post date:** [September 19, 2017, 12:20pm UTC](https://discuss.elastic.co/t/curl-localhost-port-3128-connection-refused/101011/4 "2017-09-19T12:20:36Z")

</div>

do you use a HTTP proxy at all? you ES seems to be on port 9200 and your are trying to connect to 9200 but curl is trying to go through 3128 so it may be that you have a HTTP proxy configured but not running?

---

<div class="post-metadata">

**Author:** ![Maxclac](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/maxclac/32/29107_2.png) [@Maxclac](https://discuss.elastic.co/u/Maxclac)\
**Post date:** [September 19, 2017, 12:26pm UTC](https://discuss.elastic.co/t/curl-localhost-port-3128-connection-refused/101011/5 "2017-09-19T12:26:51Z")

</div>

I am not sure if I use a HTTP proxy. How would I find out?  
I want to work locally, so I guess I should set the hosts to localhost.

---

<div class="post-metadata">

**Author:** ![A\_B](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/a_b/32/17104_2.png) [@A\_B](https://discuss.elastic.co/u/A_B)\
**Post date:** [September 19, 2017, 1:28pm UTC](https://discuss.elastic.co/t/curl-localhost-port-3128-connection-refused/101011/6 "2017-09-19T13:28:43Z")

</div>

Only reasonable explanation I can see is that you are using lower case `-x`

Form curl man page

> ```
> -x, --proxy <[protocol://][user:password@]proxyhost[:port]>
> Use the specified proxy.
> 
> ```

Try just `curl http://localhost:9200/`

---

<div class="post-metadata">

**Author:** ![Maxclac](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/maxclac/32/29107_2.png) [@Maxclac](https://discuss.elastic.co/u/Maxclac)\
**Post date:** [September 19, 2017, 1:51pm UTC](https://discuss.elastic.co/t/curl-localhost-port-3128-connection-refused/101011/7 "2017-09-19T13:51:04Z")

</div>

I think I found out the issue.  
In my .bashrc file, I left some export http proxy commands from a previous modification.  
I removed them now, everything fine.  
Thanks!

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [October 17, 2017, 1:51pm UTC](https://discuss.elastic.co/t/curl-localhost-port-3128-connection-refused/101011/8 "2017-10-17T13:51:05Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
