Я не могу скрутить одно из моих установленных программ, используя внешний IP-адрес EC2, но если я скручиваю, используя localhost: 5000 (или 127.0.0.1:5000), он работает нормально. Любые идеи будут оценены.
Я установил эти 3 элемента:
Используя внешний IP-адрес, я могу скрутить первые два элемента, но не приложение python flask.
Вот ошибка ниже. Я заменил реальный IP-адрес на "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
Вот версия завитка:
$ 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')