如果任何响应代码不等于 200,Nginx 镜像将返回错误吗?

如果任何响应代码不等于 200,Nginx 镜像将返回错误吗?

我目前有以下配置:

+---------+          +---------+          +-----------+
|         |          |         |          |           |
| client  +--------->+ main-lb +--------->+  nginx01  |
|         |          |         |          |           |
+---------+          +---------+          +-----------+
                                          |           |
                                          |           |
                                          |           |
                                          v           v
                                     +----+----+ +----+----+
                                     |         | |         |
                                     |  web01  | |  web02  |
                                     |         | |         |
                                     +---------+ +---------+

它将请求从 nginx01 镜像到 web01 和 web02 Web 服务器(不是 nginx)。

这是我当前的 nginx01 配置:

location / {
  mirror /mirror1;
  proxy_pass http://web01;
}

location /mirror1 {
  internal;
  proxy_pass http://web02;
}

目前,web01 和 web02 都可以正常接收请求,但只有 web01 的内容会连同 200 状态代码一起返回给客户端。

问题是如果 web02 宕机,那么客户端将不知道

我需要改变这种行为,以便如果 web01或者web02 状态代码 !=(不等于)200/301,然后将该状态代码返回给客户端,而不仅仅是来自 web01 的 200/301。

请注意,web01 和 web02 是两个完全不同的 Web 服务器(不是 nginx)。这里唯一“真正的” nginx 是 nginx01。

谢谢!

相关内容