基于头的nginx条件代理传递

时间:2015-11-20 06:47:21

标签: nginx proxy

我正在尝试管理在配置为负载均衡器的nginx plus服务器后运行的服务器的部署。应用程序服务器使用proxy_pass指令从nginx发送流量,我想要做的是默认情况下将流量引导到一个上游,但是当我们部署到备用实例时,将其用于测试;我试图通过让开发人员在浏览器中设置标题来选择这个,然后nginx会查找并为相关代理设置一个变量。

似乎一切都是明智的,但它根本不起作用 - 我不确定我是否误解了它是如何工作的,但它看起来确实很奇怪。

上游配置为

<select onchange="getNewFunction($('option:selected', this))" name="action-grid">
    <option selected>Select</option>
    <option value="2">Second</option>
</select>
<script type="text/javascript">
    function getNewFunction(value) {
        alert(value.text());
    }
</script>

然后此代码位于/ block。

upstream site-cluster {
    zone site 64k;
    least_conn;

    server 10.0.6.100:80 route=a slow_start=30s;
    server 10.0.7.100:80 route=b slow_start=30s;

    sticky route $route_cookie $route_uri;
}

upstream site-cluster2 {
    zone site 64k;
    least_conn;

    server 10.0.6.30:80 route=a slow_start=30s;
    server 10.0.7.187:80 route=b slow_start=30s;

    sticky route $route_cookie $route_uri;
}

无论我是否设置了标头,它始终是发送流量的默认服务器。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

map指令应该在http上下文中而不是位置: Syntax: map string $variable { ... } Default: — Context: http

其余看起来合情合理,对我有用。

相关问题