Настройка SSL для приложения Ruby on rails (в Ubuntu) + AWS с использованием LBS

Я новичок в ruby ​​on rails, сейчас разработал приложение и развернул его на сервере AWS. Я установил ruby ​​на рельсы в Ubuntu OS, используя документацию на сайте Digital Ocean. После развертывания все работает нормально.

Теперь мне нужно настроить SSL (HTTPS) для всего приложения. Я разместил файлы в AWS EC2 и использовал AWS Loadbalancer и ACM

Я не знаю, какой веб-сервер по умолчанию использует ROR и как включить SSL в среде ROR. Я получаю тайм-аут, когда я получаю доступ к приложению в режиме HTTPS.

Я четко проверил, так как я добавил протокол HTTPS (443) в моем случае, а также в прослушивателе Loadbalancer.

Любой совет / четкое объяснение того, что там происходит и что я пропустил, помогло бы мне понять это правильно.

Спасибо,

1 ответ

Решение

Чтобы включить готовый к работе веб-сервис с RoR, вам также понадобится HTTP-сервер и сервер приложений. Для HTTP-сервера наиболее популярными являются Nginx и Apache. Для сервера приложений вы можете использовать Phusion Passenger или Puma. Я использовал Nginx с Phusion Passenger. Если это ваш выбор, вам нужно купить сертификат SSL у любого поставщика и поместить его в экземпляр ec2. Настройте ssl-сертификат в Nginx, используя порт 443.

На стороне LBS вам необходимо подключить LBS 443 к вашему порту ec2 433, чтобы запрос мог быть перенаправлен.

-------Редактировать----------

Приведенный выше ответ не самый простой способ для LBS. AWS Application Load Balancer может напрямую передавать протокол прикладного уровня, такой как HTTPS. Поэтому нет необходимости настраивать его на EC2, если вы не хотите напрямую общаться с вашим сервером EC2. Сервер EC2 всегда может использовать HTTP, если вы доверяете своей частной сети.

Другие вопросы по тегам