У меня есть специальные настройки для моего приложения Rails. Мое приложение размещено за обратным прокси-сервером и по какой-то причине переписывает запросы. Сервер, на котором работает приложение, имеет только внутренний IP-адрес. Обратный прокси-сервер имеет публичный адрес и перенаправляет все входящие запросы на сервер приложений.
Проблема в том, что, хотя все запросы поступают как example.com/my/url
, они переписываются и отправляются на сервер приложений как 10.0.0.2/my/url
. Это становится проблемой, когда, например, Устройство devise вступает в игру, требуя аутентификации и перенаправления на страницу входа. Отправленное перенаправление будет включать локальный IP-адрес вместо полного доменного имени, которое было запрошено изначально.
Есть идеи, как заставить мое приложение Rails использовать определенное имя хоста в перенаправлениях? Я попытался установить HTTP_HOST
, используя passenger_set_cgi_param
, который не работал, а также попытался вручную установить request.host
в before_filter
.