Невозможно получить доступ к apache2 извне

Невозможно получить доступ к apache2 извне

Я размещаю сайт по умолчанию для сервера Apache2 на AWS EC2 (Ubuntu) с эластичным IP.

Группа безопасности настроена на открытие всех входящих соединений (в целях тестирования).

Я могу получить доступ к серверу по SSH, используя публичный IP, но не могу по HTTP.

Я могу просматривать сайт с локального хоста (используя lynx 127.0.0.1).

Я также могу просматривать сайт с другого EC2 в той же подсети.

Вот мой iptables:

-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

открытые порты:

tcp               LISTEN             0                  128                                   0.0.0.0:22                                 0.0.0.0:*                                  
tcp               LISTEN             0                  511                                         *:80                                       *:*                                  
tcp               LISTEN             0                  128                                      [::]:22                                    [::]:*                                  
tcp               LISTEN             0                  511                                         *:443                                      *:*  

Брандмауэры неактивны.

Я также только что попытался установить nginx на вторую виртуальную машину, которую я развернул в той же подсети, и, как ни странно, я также не могу получить доступ к веб-серверу через порт 80.

Так что теперь я также создал новый экземпляр в отдельной подсети и все еще не могу добраться до него по HTTP. Хотя он доступен по SSH.

Не уверен, что я что-то упускаю.

Обновление 1:

Это крайне странно, у меня также запущен MySQL на этой машине, которая также доступна. Кажется, что группы маршрутизации и безопасности верны, но по какой-то причине трафик HTTP и HTTPS чем-то блокируется.

Обновление 2:

Я включил журналы потоков на VPC, и все мои запросы на порт 80 были отклонены, а на порты 22 и 3306 все прошло без проблем.

my.ip.goes.here. 10.1.1.68 64087 80 6 1 64 1694528397 1694528415 REJECT OK

Сетевой ACLнастроен на разрешение всех входящих и исходящих:

100 All traffic All All 0.0.0.0/0   Allow
*       All traffic All All 0.0.0.0/0   Deny

Группа Безопасностиразрешает весь входящий и исходящий трафик:

All Traffic 0.0.0.0/0

Это становится все более и более странным.

решение1

Попробуйте с помощью tspdump отследить пакеты — доходит пакет до хоста или нет. Если пакет доходит, то явно что-то на сервере его блокирует или отбрасывает. Полностью сбросьте все правила брандмауэра, а еще лучше — отключите его совсем (для проверки). Ну, для начала проверьте настройки веб-сервера, возможно, что-то настроено не так. Попробуйте вставить простую статическую страницу и комбинацию этих мер — вы обязательно разберетесь в проблеме.

решение2

Я нашел решение.

Я открыл nginx на порту 81, который работал нормально, поэтому я подумал, что он просто блокирует какие-то веб-порты.

После небольшого исследования выяснилось, что это произошло из-за того, что на мой EC2 поступила жалоба «Сообщение о злоупотреблении EC2».

Среди миллионов писем было одно:

Мы получили отчет(ы) о злоупотреблении, затрагивающие ресурсы на вашем аккаунте AWS. В результате мы предприняли следующие шаги против затронутых ресурсов, чтобы смягчить активность:

** Заблокированы входящие HTTP-порты 80,8080 и 443 в регионе**

Ранее в этом регионе существовал другой экземпляр EC2, на котором было установлено определенное программное обеспечение, которое было взломано и отключено.

Было бы здорово, если бы это как-то отображалось на экземпляре EC2 в консоли.

Связанный контент