#ruby-on-rails #amazon-ec2 #puma
#ruby-on-rails #amazon-ec2 #puma
Вопрос:
Я собрал приложение rails 5 и пытаюсь запустить его из экземпляра AWS ec2. Я настроил свои группы безопасности, но не могу получить доступ к специальному порту, который я выбрал. Что может быть не так?
Настройка группы безопасности:
Ports Protocol Source rails-dev-and-ssh
80 tcp 72.21.xxx.0/24 ✔
22 tcp 72.21.xxx.0/24 ✔
3800 tcp 0.0.0.0/0 ✔
Запущен сервер Puma:
[ec2-user@ip-172-31-42-206 Viewer]$ rails server -p 3800 -b 172.31.42.206
=> Booting Puma
=> Rails 5.0.0.1 application starting in development on http://172.31.42.206:3800
=> Run `rails server -h` for more startup options
Puma starting in single mode...
* Version 3.6.0 (ruby 2.3.0-p0), codename: Sleepy Sunday Serenity
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://172.31.42.206:3800
Use Ctrl-C to stop
Из одного и того же экземпляра оба этих запроса возвращают успех (версия rails и большой объем данных):
curl http://172.31.42.206:3800 <private IP>
curl http://54.86.xxx.xx:3800 <public IP
Но с моего компьютера, который не в EC2, я могу без проблем свернуть порт 80, но не порт 3800, где работает Puma. Это наводит меня на мысль, что моя конфигурация AWS VPC в порядке, но что-то не так с IP-адресом, к которому привязана Puma. Я также пробовал привязку к 0.0.0.0.
$ curl http://54.86.xxx.xx/ <the public ip, port 80, succeeds>
hi raj var www html
$ curl http://54.86.xxx.xx:3800
curl: (7) Failed to connect to 54.86.xxx.xx port 3800: Operation timed out
Ответ №1:
Это не AWS или rails…. Это мой глупый брандмауэр office, который мешает мне получить доступ к произвольному порту в ec2. Я могу получить доступ к сайту со своего телефона. Извините!