Curl
不能捲曲。curl:(7)無法連接…連接被拒絕
我無法使用外部 EC2 ip 地址 curl 我已安裝的軟體之一,但如果我使用 localhost:5000(或 127.0.0.1:5000)進行 curl,它可以正常工作。任何見解將不勝感激。
我已經安裝了這 3 個項目:
- Elasticsearch,埠 9200 => 我可以使用內部和外部 IP 進行 curl
- Jenkins,埠 8080 => 我可以使用內部和外部 IP 進行 curl
- Python Flask 應用程序,埠 5000 => 我無法使用外部 IP 捲曲。內部 IP 工作正常
使用外部 IP 地址,我可以捲曲前兩項,但不能捲曲 python 燒瓶應用程序。
這是下面的錯誤。我用“external_ip”替換了真實的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
這是捲曲版本:
$ 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
這是作業系統版本:
$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"
netstat 顯示正在偵聽所有埠,但有問題的埠連結到 127.0.0.1。如何將其映射到外部 IP 地址?
$ 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
順便說一句,我使用 Vagrant 也遇到了同樣的結果。
有任何想法嗎?
預設情況下,Flask 應用程序僅在本地介面上偵聽,如果您希望您的應用程序在外部地址上可用,請將其啟動為
app.run(host='0.0.0.0')