Não é possível enrolar. curvatura: (7) Falha ao conectar… Conexão recusada [fechada]

2

Eu não posso enrolar um dos meus softwares instalados usando o endereço IP externo do EC2, mas se eu enrolar usando localhost: 5000 (ou 127.0.0.1:5000), ele funciona bem. Qualquer insight será apreciado.

Eu instalei estes 3 itens:

  • Elasticsearch, porta 9200 = > Posso enrolar usando IP interno e externo
  • Jenkins, porta 8080 = > Posso enrolar usando IP interno e externo
  • Aplicativo Flask Python, porta 5000 = > Eu não posso enrolar usando IP externo. IP interno funciona bem

Usando o endereço IP externo, posso enrolar os dois primeiros itens, mas não o aplicativo de frasco python.

Aqui está o erro abaixo. Eu substitui o endereço IP real por "external_ip":

$ curl -v external_ip:5000
* Rebuilt URL to: external_ip:5000/
* Hostname was NOT found in DNS cache
*   Trying external_ip...
* connect to external_ip port 5000 failed: Connection refused
* Failed to connect to external_ip port 5000: Connection refused
* Closing connection 0
curl: (7) Failed to connect to external_ip port 5000: Connection refused

Aqui está a versão curl:

$ curl --version
curl 7.35.0 (x86_64-pc-linux-gnu) libcurl/7.35.0 OpenSSL/1.0.1f zlib/1.2.8 libidn/1.28 librtmp/2.3

Aqui está a versão do sistema operacional:

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"

netstat mostra que todas as portas estão sendo ouvidas, mas a porta em questão está vinculada a 127.0.0.1. Como posso obter isso para ser mapeado para o endereço IP externo?

$ sudo netstat -an | grep -E "5000|9200|8080"
tcp        0      0 127.0.0.1:5000          0.0.0.0:*               LISTEN
tcp6       0      0 :::9200                 :::*                    LISTEN
tcp6       0      0 :::8080                 :::*                    LISTEN

A propósito, eu encontrei os mesmos resultados usando o Vagrant.

Alguma idéia?

    
por sftoparis 13.09.2014 / 18:02

1 resposta

6

Aplicativos Flask por padrão só ouvem na interface local, se você quiser que seu aplicativo esteja disponível em endereços externos, inicie-o como app.run(host='0.0.0.0')

    
por 13.09.2014 / 18:41

Tags