Не удается получить доступ к сайту в экземпляре EC2 с помощью общедоступного ip

Я экспериментировал с EC2 в течение нескольких дней, и я ударился головой, даже имея возможность получить доступ к образцу, который я разместил. Стек представляет собой Rails 3.1.3 с Thin и Nginx.

Я пробовал несколько разных конфигураций и, наконец, закончил запуск автоматической установки Nginx script, которая возвращает веб-страницу, когда я делаю завиток http://ec2-107-20-143-179.compute-1.amazonaws.com/, Однако, когда я указываю свой браузер там, он вешает навсегда, прежде чем говорить, что страница не найдена.

Я назначил Elastic IP-адрес, и я включил HTTP-доступ через порт 80.

Я не очень разбираюсь в стороне sysadmin, и сейчас я в основном тупик. Любые советы были бы с благодарностью.

Ответ 1

Вы включили порт http для всех ips? Это будет сделано, если:

EC2 → Группа безопасности → По умолчанию (или ваш custome один) → Входящие

И затем создайте новое правило для HTTP и в качестве источника, вы должны назначить: 0.0.0.0/0

Это должно сделать это.

Ответ 2

Подумайте, что интерфейс AWS, возможно, был обновлен, но на основе ответа Deleteman

  • Вход в панель управления EC2
  • Экземпляры > Экземпляры
  • Выпадающее меню Действия > Сеть > Изменить группы безопасности
  • Вероятно, вы увидите, что у вас есть только запуск-мастер-1, который для меня разрешил доступ только к SSH на порте 22

Как упоминает Deleteman, вам может потребоваться изменить ваши группы безопасности...

  • Вход в панель управления EC2
  • Сеть и безопасность > Группы безопасности
  • Удалите все фильтры, которые могут находиться в окне поиска, чтобы показать все группы.
  • Лично я редактировал группу безопасности VPC по умолчанию, поскольку для меня это песочница, я полагаю, вы захотите создать группу безопасности для своего проекта.
  • Установите флажок группы безопасности, выберите раскрывающийся список действий и нажмите "изменить входящие правила", я использовал следующие входящие правила, чтобы убедиться, что все работает.

Rules

  • Когда вы пересматриваете экземпляры > экземпляры > Описание, вы должны увидеть группы безопасности и правила

enter image description here

  • Как только вы счастливы, что я работаю, я бы, вероятно, заменил весь трафик HTTP и HTTPS, если это все, что нужно

Ответ 3

Я был здесь раньше, ища решение проблемы, с которой я столкнулся. Оказывается, в моем случае экземпляр EC2 также имел собственный брандмауэр, работающий в дополнение к группе безопасности EC2. Команда "system-config-firewall" позволяет мне открыть порты. Порты 80 (HTTP) и 3306 (MySQL) по умолчанию не были открыты. 22 (SSH) был открыт. Я также должен был выполнить "yum install system-config-firewall".

Подводя итоги, я решил:

> yum install system-config-firewall
> system-config-firewall

Ответ 4

Этот ответ предназначен для новичков, которые понятия не имеют, что они делают с экземпляром ec2.

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

Как оказалось, мне нужно было включить мой сервер из командной строки.

sudo service httpd start 

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

Ответ 5

Я также боролся с той же проблемой, что и создала группу безопасности, но не применилась к экземпляру. Просто создайте новое правило для http. И примените с помощью щелчка правой кнопкой мыши и выберите группу безопасности и назначьте ее.

Ответ 6

Ответ Octopus был для меня правильным, за исключением Windows-машины. Мне нужно было перейти на брандмауэр Windows, блокировал весь трафик от VM, если он не соответствовал правилу. Порт 80 не был включен в правило, поэтому я просто должен был добавить его.

Ответ 7

Очень глупо со мной, когда я забыл установить веб-сервер (HTTP-сервер), из-за которого мой обычный IP-адрес ec2 не работал. Отвечая на этот вопрос, так как это также может быть одной из причин, по которым не следует пропустить, как я.

Вы можете установить либо

Nginx:

sudo apt-get install nginx

apache2:

sudo apt-get install apache2

Ответ 8

У меня была такая же проблема, у меня был мозг, так как у меня нет опыта работы с Ubuntu или linux. Ответ Parag исправил это.

Очень глупо со мной, когда я забыл установить веб-сервер (HTTP-сервер), из-за которого мой обычный IP-адрес ec2 не работал. Отвечая на этот вопрос, так как это также может быть одной из причин, по которым не следует пропустить, как я.

Вы можете установить либо

Nginx:

sudo apt-get install nginx

apache2:

sudo apt-get install apache2