Nginx重定向 - 如何禁用特定URL的重定向?

时间:2012-08-08 05:44:50

标签: nginx load-balancing

我们在3个节点node1,node2,node3上设置了nGinx重定向。现在一切都很好。我们有一个小要求。我们需要一个特定的URL才能从一台服务器加载。是否可以通过调整此配置。

我将在此处粘贴node1的当前配置。

  upstream project.in {
    server node2:8080 weight=10 max_fails=3 fail_timeout=30s;
    server node3:8080 weight=10 max_fails=3 fail_timeout=30s;
  }

  server {
    listen 80;
    server_name www.example.in;
    location / {
      proxy_pass http://example.in;
    }
  }

根据上面的配置,来自node1的流量将在node2和node3之间共享。我们的要求是,如果有人访问http://example.in/test/administrator/它应该只到node1。换句话说,我们需要为此特定URL禁用负载平衡。这可以通过调整配置文件来实现吗?

1 个答案:

答案 0 :(得分:5)

您应该使用overriden proxy_pass

添加其他位置部分
location / {
    proxy_pass http://project.in; # your upstream name for load balancing
}

location /test/administration/ { # excluded location
    proxy_pass http://node1:8080; # goes to another backend
}