我用upstream和proxy负载平衡.
该指令proxy_pass http://upstream_name使用默认端口,即80.
但是,如果上游服务器不侦听此端口,则请求失败.
我的配置:
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/;
}
}
Run Code Online (Sandbox Code Playgroud)
nginx -t:
[warn]: upstream "myups" may not have port 81 in /opt/nginx/conf/nginx.conf:78.
Run Code Online (Sandbox Code Playgroud)
Mic*_*eim 39
在您的上游配置中,您定义了端口(6666和9999),这些是您的后端服务器需要监听的端口
在这种情况下,proxy_pass指令不需要额外的端口配置.你的nginx会监听port 81你在listen指令中定义的内容
这是你试图做的吗?
http {
#...
upstream upstream_1{
server 192.168.1.100:6666;
server 192.168.1.101:9999;
}
upstream upstream_2{
server 192.168.1.100:6661; // other backstream port if you use port 81
server 192.168.1.101:9991;
}
server {
listen 80;
#.....
location ~ /myapp {
proxy_pass http://upstream_1;
}
}
server {
listen 81;
#.....
location ~ /myapp {
proxy_pass http://upstream_2;
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
33384 次 |
| 最近记录: |