У меня недавно возникли проблемы с моими AWS EC2 экземплярами. Проблема в том, что я не могу ударить по серверам Rails через общедоступный IP-адрес, но я могу ударить по localhost, и сервер ответит.Не удается подключиться к серверу Rails, работающему на EC2, из общедоступного IP
Вот что я делаю:
- Создать новый экземпляр EC2 (t2.micro, убунт свободного уровня)
- группы безопасности имеет порт 22, 80, 3000 открыто для всех (0.0.0.0)
- SSH к экземпляру EC2, установить рельсы (я использую this для установки)
- Start рельсов сервера после установки, он работает на порту 3000
- запустить «Wget локального хоста: 3000» и возвращает index.html , ура!
- перейдите в мой веб-браузер, введите EC2-экземпляр общедоступного IP и порт 3000 (IP: 3000), говорит, что он не может подключиться :(
- kill rails server, перезапустить его на порт 80, wget работает, т подключить через публичные IP
- как проверить вменяемость, установить Nginx и запустить его, и можно увидеть стартовую страницу Nginx на порт 80 через публичные IP ... так запутано ...
так Я думаю, что это имеет какое-то отношение к тому, как я устанавливаю Rails, но я пробовал другие методы, кроме использования этого сценария установки, но сталкиваюсь с той же проблемой ... Я даже попытался создать enti полагайтесь на новую учетную запись AWS на всякий случай, если я испортил настройки в моей первоначальной учетной записи, но не повезло. Я ранее был в состоянии получить рельсы, работающие на экземплярах EC2, просто отлично (на самом деле у меня есть экземпляры EC2, которые используют ту же группу безопасности, что и сейчас, на моей учетной записи AWS и могут просто поразить эти публичные IP-адреса), но теперь я просто ударяю головой против стены ... любая помощь будет принята с благодарностью!
EDIT: На данный момент я настроил nginx на мой сервер rails ... по крайней мере, это работает на данный момент ... хотя мне все еще интересно, почему я не могу попасть прямо на сервер rails напрямую.
Вы, вероятно, также необходимо открыть брандмауэр Ubuntu, чтобы позволить порт 80 и/или 3000. http://serverfault.com/ Вопросы/574491/open-port-80-on-ubuntu-aws – infused
Я запустил 'uufw status', и он говорит, что он неактивен. Выходной сигнал 'iptables -L' выглядит следующим образом: ' root @ ip-172-31-3-171:/home/ubuntu/blah # iptables -L Цепочка INPUT (политика ACCEPT) целевая цель opt opt источника ACCEPT tcp - где угодно, tcp dpt: http: – spacemonkeys