Локальный запуск приложения Ruby on Rails — обычная практика на этапе разработки. По умолчанию приложения Rails работают по протоколу HTTP. Однако в определенных сценариях вам может потребоваться запустить приложение по HTTPS для тестирования или для репликации рабочей среды. В этой статье мы рассмотрим различные методы настройки и локального запуска приложения Rails с использованием HTTPS.
Метод 1: использование самозаверяющего SSL-сертификата
При работе на компьютере разработчика вы можете создать самозаверяющий SSL-сертификат и настроить свое приложение Rails для его использования. Вот как:
Шаг 1. Создайте сертификат SSL:
$ openssl req -x509 -sha256 -nodes -newkey rsa:2048 -days 365 -keyout localhost.key -out localhost.crt
Шаг 2. Настройте приложение Rails:
В config/environments/development.rb
добавьте следующие строки:
config.force_ssl = true
config.ssl_options = { redirect: { exclude: -> request { request.path =~ /health_check/ } } }
config.ssl_certificate = Rails.root.join('localhost.crt').to_s
config.ssl_private_key = Rails.root.join('localhost.key').to_s
Метод 2: использование прокси-сервера
Другой подход заключается в использовании прокси-сервера для обработки завершения SSL и пересылки запросов в ваше приложение Rails. Этот метод позволяет использовать существующие инструменты, такие как NGINX или Caddy. Вот пример использования NGINX:
Шаг 1. Установите NGINX:
$ sudo apt-get install nginx
Шаг 2. Настройте NGINX:
Отредактируйте файл конфигурации NGINX (/etc/nginx/nginx.conf
) и добавьте следующую конфигурацию:
server {
listen 443 ssl;
server_name localhost;
ssl_certificate /path/to/localhost.crt;
ssl_certificate_key /path/to/localhost.key;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
}
}
Метод 3: использование такого инструмента, как Pow или ngrok
Pow (для macOS) и ngrok (кроссплатформенный) — это инструменты, которые позволяют вам предоставлять доступ к локальному серверу разработки через HTTPS. Они предоставляют простой способ локального запуска приложений Rails с помощью HTTPS без необходимости вручную настраивать SSL-сертификаты. Вот как использовать Pow:
Шаг 1. Установите Pow (только для macOS):
$ curl get.pow.cx | sh
Шаг 2. Создайте символическую ссылку для вашего приложения Rails:
$ ln -s /path/to/your/rails/app ~/.pow/myapp
Шаг 3. Получите доступ к приложению Rails через HTTPS:
Откройте браузер и посетите https://myapp.dev
.
В этой статье мы рассмотрели три различных метода локального запуска приложения Rails с использованием HTTPS. Вы можете создать самозаверяющий сертификат SSL, использовать прокси-сервер, например NGINX, или использовать такие инструменты, как Pow или ngrok. Каждый метод имеет свои преимущества, поэтому выберите тот, который лучше всего соответствует вашим потребностям. Локальный запуск приложения Rails с использованием HTTPS позволяет протестировать функциональность, связанную с SSL, и обеспечить безопасную среду разработки.