我不能curl使用外部EC2 IP地址我安装的软件之一,但如果我curl使用localhost:5000(或127.0.0.1:5000),它工作正常。 任何见解将不胜感激。
我已经安装了这3个项目:
使用外部IP地址,我可以curl前两个项目,但不是python烧瓶应用程序。
这是下面的错误。 我用“external_ip”replace了真实的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版本:
$ 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')启动它