我正在使用nginx作为反向代理来负载均衡运行在后端服务器上的ruby应用程序,以服务于example.com网站。我在nginx中有以下proxy_set_header
字段,将主机标头传递到后端ruby中。这对于ruby应用程序识别子域名非常重要。
location / {
proxy_pass http://rubyapp.com;
proxy_set_header Host $http_host;
}
现在我想创建一个别名 beta.example.com
,但是传递到后端的主机头应该仍然是www.example.com
,否则ruby应用程序将拒绝请求。因此,我希望在location指令中使用类似于以下内容的东西。
if ($http_host = "beta.example.com") {
proxy_pass http://rubyapp.com;
proxy_set_header Host www.example.com;
}
最好的方法是什么?