Nginx的负载均衡功能依赖于ngx_http_upsteam_module模块,所支持的代理方式包括proxy_pass, fastcgi_pass, uwsgi_pass, scgi_pass, memcached_pass和grpc_pass。
gx_http_upstream_module模块允许Nginx定义一组或多组服务组,使用的可以通过proxy_pass代理方式把网站的请求发送到事先定义好的对应upstream组的名字上。upstream模块可以实现负载均衡,而且在一个节点故障的时候,配置了upstream时可以自动切换到正常工作的节点。
|
1 2 3 |
upstream data_server { server 192.168.1.86:20001; } |
原因:
在 location 中强制传递真实的 Host 给后端。
|
1 2 3 4 5 6 7 8 |
location /data/ { # 添加这一行,将客户端请求的原始 Host 传递给后端 proxy_set_header Host $host; # 或者,如果后端服务监听的是特定端口且依赖端口,可以使用: # proxy_set_header Host $host:$server_port; # ... 其他配置 proxy_pass http://data_server/ ; } |