Проблема с подключением к серверу rails в AWS

#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. Я могу получить доступ к сайту со своего телефона. Извините!