Я запускаю nginx в качестве обратного прокси для сайта example.com для балансировки рубинового приложения, работающего на сервере backend. У меня есть следующее поле proxy_set_header
в nginx, которое передаст заголовки хоста для бэкэнд-рубина. Это необходимо для приложения ruby для идентификации имен поддоменов.
location / {
proxy_pass http://rubyapp.com;
proxy_set_header Host $http_host;
}
Теперь я хочу создать псевдоним beta.example.com
, но заголовок хоста, переданный на бэкэнд, должен быть www.example.com
, иначе приложение ruby отклонит запросы. Поэтому я хочу, чтобы что-то похожее ниже директивы внутри места.
if ($http_host = "beta.example.com") {
proxy_pass http://rubyapp.com;
proxy_set_header Host www.example.com;
}
Каков наилучший способ сделать это?