【发布时间】:2016-05-10 15:51:52
【问题描述】:
我的 nginx 配置中有一个带有 3 个服务器的上游。 我需要设置此配置以优先... 如果我的 server1 已启动,所有连接都转到他。 如果我的 server1 已关闭,所有连接都转到服务器 2 如果我的服务器 2 关闭,所有连接都转到服务器 3。
这可能吗?
我已经设置了 ip_hash 指令并将指令备份设置到我上游的 server2 和 3。 但这似乎行不通。 你有什么建议吗?
是否也可以在我的 server1 中添加一个条件,即 404 错误按顺序转到下一个服务器? 谢谢
这是我的 nginx 配置.. 但是当 IP 192.168.10.1 nginx 以循环模式进入 192.168.10.2 和 192.168.10.3 时,这对我的邮件网络服务器不利
upstream mail {
#ip_hash;
server 192.168.10.1:80;
server 192.168.10.2:80 backup;
server 192.168.10.3:80 backup;
#health_check;
}
server {
listen 443 ssl;
server_name mail.test.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
add_header Front-End-Https on;
proxy_pass http://mail;
}
}
【问题讨论】:
-
404 是有效代码,如果它来自后端,则认为后端工作。您可以将 404 页面重定向到某个位置,在该位置您将只为来自第二个和第三个上游的请求提供服务。这一切都在documentation。 Upstream,例如:'backup 将服务器标记为备份服务器。当主服务器不可用时,它将被传递请求'。 “似乎不起作用”无论如何都不是一个正确的问题。
-
@Daniele 你对此有答案吗?
标签: nginx