为两个上游池定义相同的服务器资源是否安全?

为两个上游池定义相同的服务器资源是否安全?

我担心的是,由于两个服务器共享一个上游池,每个服务器都会向该池发送请求,如果该池过载,则两个服务器都无法正确限制或超时未来的请求。

我定义了两台服务器,一台监听端口 80,另一台监听端口 443。两台服务器都定义了具有相同资源的上游池。

web_one_80.conf:

  upstream app_pool1 {
    server 1.1.1.1:5000
    server 1.1.1.1:5001
    server 1.1.1.1:5002
  }

  http {
    listen 80;
    location / {
      proxy_pass http://app_pool1;
    }
  }

web_one_443.conf:

  upstream app_pool2 {
    server 1.1.1.1:5000
    server 1.1.1.1:5001
    server 1.1.1.1:5002
  }

  http {
    listen 443 ssl;
    location / {
      proxy_pass http://app_pool2;
    }
  }

如果我在两台不同的机器上有两个服务器共享一个上游服务器怎么办?

web_one_80.conf:

  upstream app_pool1 {
    server 1.1.1.1:5000
    server 1.1.1.1:5001
    server 1.1.1.1:5002
  }

  http {
    listen 80;
    location / {
      proxy_pass http://app_pool1;
    }
  }

web_two_80.conf:

  upstream app_pool1 {
    server 1.1.1.1:5000
    server 2.2.2.2:5001
    server 2.2.2.2:5002
  }

  http {
    listen 80;
    location / {
      proxy_pass http://app_pool1;
    }
  }

全面披露:我正在检查别人的工作。我预计这两种设置都不能正常工作。我很高兴自己错了!

答案1

是的。我在服务器配置之外定义了 PHP 和 SSL 会话缓存,并从许多服务器块中使用它们。

相关内容