**NGINX LOad Balancing**
尝试使用nginx对IIS中托管的服务器进行负载均衡。如果我关闭其中一个应用程序池,nginx应该停止向该服务器发送请求。但是我看到nginx将继续向两个服务器发送请求。我的配置是。
events {
worker_connections 2048;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile off;
#tcp_nopush on;
keepalive_timeout 0;
upstream xxx {
server xxxxxxx:80 max_fails=1 fail_timeout=30;
server xxxxxxxx:80 max_fails=1 fail_timeout=30;
}
server {
listen zzzz;
server_name localhost;
location /yy {
proxy_cache off;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header Connection "";
proxy_http_version 1.1;
proxy_pass http://xxx;
}
}
即使我关闭了应用程序池,Nginx仍会继续将请求发送到其他服务器。
<HTML>
<HEAD>
<TITLE>Service Unavailable</TITLE>
</HEAD>
<BODY>
<h2>Service Unavailable</h2>
<hr>
<p>HTTP Error 503. The service is unavailable.</p>
</BODY>
</HTML>
答案 0 :(得分:0)
如果我没错,Nginx仍然继续调用该服务器,因为他没有发现奇怪的东西......端口80是可以访问的,你必须更改检查方法才能找到http错误。例如这一个:{ {3}} ...如果http响应不是200,他认为该服务器“坏”,并将其从池中删除。