Назад | Перейти на главную страницу

Невозможно получить доступ к веб-сайту, запущенному на порту 8888 в экземпляре AWS EC2

Я использую экземпляр EC2 с AWS Linux. Там есть веб-сайт на порту 8888, поэтому, если с виртуальной машины я запускаю curl "http://127.0.0.1:8888/login" Я получаю сайт.

Я хочу получить к нему доступ извне, поэтому я установил правило в группе безопасности, прикрепленной к экземпляру:

Custom TCP Rule  TCP  8888  0.0.0.0/0

Когда я пытался получить к нему доступ из моего браузера или командной строки, я получаю тайм-аут

curl "http://xx.yy.zz.ff:8888/login"

куда xx.yy.zz.ff - эластичный IP-адрес, прикрепленный к экземпляру (который я использую для подключения к виртуальной машине через SSH).

Интересно, что я могу получить к нему доступ на http://localhost:8888/login если я сначала выполняю SSH-туннелирование:

ssh -i my-key.pem -NL 8888:localhost:8888 me@xx.yy.zz.ff

Если я сделаю sudo netstat -tulpn, я получу

tcp    0      0     127.0.0.1:8888   0.0.0.0:*     LISTEN      26531/python

И если я do sudo ss -aut | grep 8888 Я вообще ничего не получаю.

Любые идеи?

tcp    0      0     127.0.0.1:8888   0.0.0.0:*     LISTEN      26531/python

Ну вот и ответ. Ваш веб-сервер (процесс Python) прослушивает только ваш интерфейс localhost. Таким образом, вам нужно либо перенастроить его, чтобы прослушивать внешний сетевой интерфейс вашего EC2. или установите nginx для использования в качестве обратного прокси.