Порт EC2 80 отказался подключаться по общедоступному IP-адресу, но может подключиться по частному IP-адресу.

Вопрос упрощенный

Я могу сделать, но нет или . Но с SSH сервера я могу запустить без каких-либо проблем. Кроме того, порт 80 и порт 4321 добавлены в . Почему это происходит?

История

Я новичок в AWS EC2. Недавно я создал экземпляр EC2 t4g nano и запустил сервер NodeJS с использованием PM2. Сервер прослушивает порт 4321. Затем с помощью iptables я перенаправил порт 80 на порт 4321. Затем в группах безопасности я добавил правило входящего трафика с «Anywhere IP» на порт 80 (HTTP).

Все работало, я мог подключиться к серверу по общедоступному IP-адресу экземпляра до сегодняшнего утра, когда внезапно не смог даже подключиться к серверу по SSH. Статус экземпляра в консоли AWS показывался как «работает», но при проверке статуса 1/2 не удалась. Он показал: «Не удалось достичь экземпляра». Затем я попытался перезапустить экземпляр, это сработало, и я смог использовать SSH.

Теперь я перезапустил PM2, а затем снова добавил правило перенаправления в iptables. Но теперь я не могу подключиться к порту 80, используя общедоступный IP-адрес.

Я могу бегатьcurl localhost:80иcurl {privateip}:80, подключается без проблем. Когда я бегуcurl {publicip}:80илиcurl {publicip}он показывает «Соединение отклонено». Как я уже сказал, порт 80 уже существует во правила для входящего трафика в группе безопасностивходящих правилах группы безопасности.

Я добавил порт 4321 во входящие правила группы безопасности и могу без проблем подключиться, используяcurl {publicip}:4321но нетcurl ${publicip}:80. Как это возможно? Я что-то пропустил?

0 ответов

Другие вопросы по тегам