Я разрабатываю приложение, которое будет использовать службу AWS SNS для получения уведомлений по HTTP.
Поскольку я разрабатываю приложение локально и не контролирую брандмауэр нашей компании, я пытаюсь туннелировать HTTP-соединения с внешнего хоста EC2 на мой локальный компьютер в целях тестирования.
Все выглядит нормально при проверке соединения с самого хоста EC2, однако порт закрыт при внешней проверке.
Мое локальное приложение находится на порту 2222. Я выполнил следующую команду на своем локальном компьютере, чтобы установить прокси:
ssh -i myCredentials.pem [email protected] -R 2222:localhost:2222
Где myserver.com
указывает на экземпляр EC2. С помощью SSH к экземпляру EC2 я могу успешно подключиться к своему приложению через туннель, и nmap
отображает следующее:
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00055s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
2222/tcp open EtherNet/IP-1
Однако, когда я запускаю nmap
для экземпляра EC2 с моей локальной машины, порт закрывается:
Nmap scan report for xxxxxx
Host is up (0.24s latency).
Not shown: 998 filtered ports
PORT STATE SERVICE
22/tcp open ssh
2222/tcp closed EtherNet/IP-1
Группа безопасности, назначенная серверу, разрешает TCP-трафик через порты 2222 на 0.0.0.0/0, а iptables
не работает на сервере.
Что мне нужно сделать на стороне EC2, чтобы сделать этот порт открытым для внешнего мира?