【发布时间】:2012-12-30 10:25:27
【问题描述】:
我正在运行 nginx 作为站点 example.com 的反向代理,以对后端服务器中运行的 ruby 应用程序进行负载平衡。我在 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 应用程序将拒绝请求。所以我想要类似于下面的内部位置指令。
if ($http_host = "beta.example.com") {
proxy_pass http://rubyapp.com;
proxy_set_header Host www.example.com;
}
最好的方法是什么?
【问题讨论】:
-
这个更适合Server Fault。
标签: nginx