Порт 80 недоступен Amazon ec2

Я запустил экземпляр Amazon EC2 (Linux Redhat)... А также Apache.

Но когда я пытаюсь:

http://MyPublicHostName

Я не получил ответа.

Я гарантировал, что моя группа безопасности разрешает доступ к порту 80.
Я могу достигнуть порта 22 наверняка, так как я вошел в экземпляр через ssh.
Внутри Amazon EC2 Linux Instance, когда я делаю:
$ wget http://localhost
я получаю ответ. Это подтверждает, что Apache и порт 80 действительно работают нормально.

Так как Amazon запускает экземпляры в VPC, я должен что-то там делать... Фактически я не могу даже пропинговать экземпляр, хотя я могу ssh к нему!

Любой совет?

РЕДАКТИРОВАТЬ:
Обратите внимание, что ранее я редактировал файл /etc/hosts, чтобы сделать установку 389-ds (ldap).

Мой файл /etc/hosts выглядит следующим образом (IP-адреса показаны как wxyz)
127.0.0.1 localhost.localdomain localhost
wxyz ip-wxyz.us-west-1.compute.internal
wxyz ip-wxyz.localdomain

4 ответа

По умолчанию брандмауэр RedHat блокирует некоторые порты, включая порт 80. Это в дополнение к брандмауэру, настроенному на Amazon AWS через группу безопасности.

Вы можете настроить брандмауэр, чтобы разрешить ваш трафик HTTP.

$ sudo system-config-firewall-tui

firewallhttpconfigforredhat

Другой вариант - отключить внутренний брандмауэр. Тем не менее, убедитесь, что вы знаете, что делаете.

Проверьте, если ваш iptables есть какое-либо правило включено или нет.

iptables -L

Если на сервере есть какие-то правила, вы можете их сбросить.

iptables -F

Если вы ранее не касались настроек группы безопасности, они закрываются.

  • Для начала необходимо выяснить, к какой группе безопасности относится ваш сервер.
  • В списке экземпляров нажмите на сервер, затем вы увидите описание экземпляра ниже
  • В правом столбце есть название группы безопасности. По ссылке Просмотр правил вы видите, какие порты открыты. По умолчанию только 22. Если нет 80 порта, вам нужно добавить его.
  • Далее нужно добавить правило на 80 портов. Откройте Группы безопасности в левом меню и щелкните свою группу безопасности.
  • Ниже вы видите Подробности о группе.
  • Нажмите вкладку Inbound и выберите HTTP из меню (или добавьте пользовательский порт). Оставьте исходный код как 0.0.0.0/0, если вам нужен публичный доступ.
  • Нажмите Добавить правило. NB! Вам также нужно нажать Применить изменения правил, хотя правило появилось в списке уже после первого щелчка. Изменения, ожидающие применения, отмечены звездочкой в ​​заголовке вкладки.
  • Нет необходимости добавлять исходящие, так как это открывается по умолчанию (вы можете проверить, есть ли правило ALL 0.0.0.0/0)

Вот и все.

Есть несколько вещей, которые вы можете сделать для устранения неполадок.

1) Поскольку вы не можете указать базовые домены для CNAME, вам нужно указать www.mypublichostname.com на ec2-wxyz.us-west1.blah. В качестве альтернативы (и, возможно, лучшей идеей) является присоединение эластичного IP-адреса к машине и указание записи A и всех других записей на IP-адрес.

2) Вы упоминаете, что запускаете этот экземпляр в VPC. С группами безопасности VPC вы должны определить как входящие, так и исходящие разрешения безопасности. Необходимо убедиться, что порты 80 и 8080 открыты как входящие, так и исходящие для 0.0.0.0/0 (все) или для вашего конкретного IP-адреса, подсети и т. Д.

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

Надеюсь это поможет.

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