nginx的“upstream”指令是否有端口设置?

从: https : //stackoverflow.com/questions/3748517/does-nginx-upstream-has-a-port-setting

我使用upstreamproxy进行负载平衡。

指令proxy_pass http://upstream_name使用默认端口,即80。

但是,如果上游服务器不侦听此端口,则请求失败。

我如何指定备用端口?

我的configuration:

 http{ #... upstream myups{ server 192.168.1.100:6666; server 192.168.1.101:9999; } #.... server{ listen 81; #..... location ~ /myapp { proxy_pass http://myups:81/; } } 

nginx -t:

 [warn]: upstream "myups" may not have port 81 in /opt/nginx/conf/nginx.conf:78. 

我认为你错误地解释了这一行的含义:

proxy_pass http://myups ;

这一行告诉nginx将请求传递给“上游myups”块中列出的服务器之一。 这是不会回到互联网向proxy_pass的URL发送请求。

换句话说,当一个请求到达端口81上的nginx服务器时,你指定的主机名会将请求传递给192.168.1.100:6666或192.168.1.101:9999。

希望这个清除一点。

您应该只在“上游”定义内的“服务器”语句中设置端口。

(听哪个端口?6666,9999或81?)