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

man*_*han 0 load-balancing nginx

我们在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;
    }
  }
Run Code Online (Sandbox Code Playgroud)

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

Cyb*_*m0n 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
}