Всё из-за того, что сетевые порты свыше 1024 являются пользовательскими и закрыты наружу.
- Для проверки работоспособности на этапе разработки можно воспользоваться сервисом ngrok. Этот сервис устанавливает тоннель, открывая 80-й порт наружу, хотя сам сервер работает на порте 3000.
Сначала запустить сервер
rails s
затем в другом окне терминала
ngrok 3000
Теперь можно открыть URL, указанный на экране. Он будет доступен для всего мира.
Оставлять ngrok запущенным на долгое время опасно с точки зрения безопасности системы.
- Для production на сервере используют
Phusion Passenger, Unicorn, Puma, Thin, ...
Rails Server Throwdown: Passenger, Unicorn or Puma?