Не удается получить доступ к сайту в экземпляре 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