4

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

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

http://MyPublicHostName

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

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

Так как Amazon запускает экземпляры в VPC, я должен что-то там делать ... Infact я не могу даже пинговать экземпляр, хотя я могу 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 ответа4

3

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


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

$ sudo system-config-firewall-tui

firewallhttpconfigforredhat

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

1

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

iptables -L

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

iptables -F

1

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .