У меня возникла проблема с доступом к моему эластичному общедоступному IP-адресу для моего экземпляра EC2 в веб-браузере. Установил REDHAT 6.3 и веб-сервер nginx (запущен и работает), а также убедился, что я включил порт 80 и все необходимое было настроено.
Теперь пора ввести общедоступный IP-адрес, чтобы просмотреть веб-страницу nginx по умолчанию, и ничего не происходит. Мне не удалось получить доступ к IP-адресу.
Теперь я мог пинговать другие сайты, но не мог пинговать свой IP-адрес.
Теперь, после нескольких часов попыток и попыток понять, что происходит ... я решил, что должен проверить сеть в ОС REDHAT, и всякий раз, когда я пытаюсь редактировать что-либо, связанное с сетью ... то есть я потерял соединение с сервером и не может перезапустить сеть.
Что я здесь не так? Почему просто получить доступ к моему серверу через IP так сложно? Что мне теперь делать?
Спасибо.
РЕДАКТИРОВАТЬ. вот группа безопасности, связанная с экземпляром EC2
Ports Protocol Source
20-21 tcp 0.0.0.0/0
22 tcp 0.0.0.0/0
80 tcp 0.0.0.0/0
14000-14050 tcp 0.0.0.0/0
Если это всего лишь веб-трафик, и вы все еще можете подключиться к своему экземпляру по ssh, то это почти наверняка связано с вашей конфигурацией nginx.
Итак, здесь есть несколько вещей, которые могут быть неправильными. Вы можете тестировать их один за другим и ноль до проблемы.
Сначала проверьте, можете ли вы подключиться к порту извне. Для этого используйте эту команду
# telnet IP 80
Если вы можете подключиться через это, значит, что-то определенно не так с настройками вашего веб-сервера, и вам не следует смотреть на следующие правила.
Если первый не работает, второе, что нужно проверить, - это ваши iptables на вашем компьютере, а не только группу безопасности AWS. Чтобы сделать то же самое, проверьте вывод этой команды.
# iptables -L -n
Политики по умолчанию всегда должны быть ПРИНЯТО, если вы специально не указываете DROP
или REJECT
. Чтобы проверить, является ли iptables проблемой или нет, вы можете попробовать отключить iptables, сбросив правила или остановив службу iptables.
Чтобы очистить правила, используйте эту команду:
# iptables -F
Чтобы остановить службу iptables:
# service iptables stop
Теперь попробуйте получить доступ к вашему сайту.
Третий вариант - проверить Selinux на вашем компьютере. На машине redhat по умолчанию включен SElinux. Чтобы проверить то же самое, используйте эту команду и проверьте статус:
# getsebool
Он должен сказать что-то вроде этого:
getsebool: SELinux is disabled
Если он включен, то это может быть причиной. Просто попробуйте временно отключить его с помощью этой команды:
# setenforce 0
Это временно отключит SElinux на вашем компьютере. Если это решит вашу проблему, просто обновите состояние из Enforcing
к disabled
в /etc/sysconfig/selinux
и он навсегда отключит SElinux на вашем компьютере.
Надеюсь, это помогло.
GeekRide отлично справился с выделением различных шагов по устранению неполадок. Ответ для моего развертывания был связан с iptables. Остановка службы - отличный совет, чтобы быстро выявить проблему.
Чтобы решить проблему, обязательно «вставьте» свой порт в таблицу. Не добавляйте, так как вы, скорее всего, будете добавлять после записи «отклонить все», которая находится в конце списка. В этом примере 5 после правила порта 22. В aws, поскольку вы подключаетесь как пользователь ec2, добавьте команду sudo.
# sudu su
# iptables -L -n
# iptables -I INPUT 5 -p tcp --dport XXXXX -j ACCEPT
Если это сработает, не забудьте сохранить на случай перезапуска службы iptables.
# iptables-save
Помимо настроек группы безопасности AWS, разрешающих порт 80, также проверьте свой брандмауэр Redhat. Порт 80 по умолчанию не открыт.
В вашей системе redhat запустите system-config-firewall-tui
чтобы открыть утилиту настройки брандмауэра для redhat, затем разрешите доступ http-порту 80.
Вы редактировали брандмауэр групп безопасности, чтобы разрешить веб-трафик ssh и т. Д.?
брандмауэр группы безопасности по умолчанию довольно жесткий.
с вашей консоли EC2
Network & security -> Security groups -> default -> inbound
можно выбрать шаблонное правило из раскрывающегося списка или создать собственное.
add rule -> apply rule changes
изменения должны быть почти мгновенными