vlambda博客
学习文章列表

nginx之代理参数信息

上次我们讲解了负载均衡,我们都知道负载均衡对于服务器的重要性的时候,在之后讲解了负载均衡后,我们就需要进行负载均衡在需要进行服务器上进行负载均衡的配置。在完成配置之后就需要对配置的参数进行了解以便更加的去理解nginx代理。

nginx代理

正向代理---->科学上网

方向代理---->为后端节点没有公网ip的主机进行代理

proxy_pass

携带头部信息 proxy_set_header

proxy_set_header HOST $http_host

proxy_http_version 1.1; #代理使用http1.1协议

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for

proxy_set_header X-Real-IP $remote_addr

proxy_connect_timeout time #nginx代理与后端服务器连接超时时间(代理连接超时)

proxy_read_timeout time;nginx代理后端服务器的响应时间

proxy_send_timeout time;后端服务器数据回传给nginx代理超时时间

proxy_buffering|off; nginx会把后端返回的内容放到缓存区中,然后再返回给客户端,边收边传,不是全部接收完再传给客户端

proxy_buffers 4 128k

一个nginx代理的实际应用:

使用nginx负载均衡时,如何将后端请求超时的服务器流量平滑的切换到另一台上?

Nginx是本身是有机制的,如果出现一个节点down掉的时候,Nginx会根据你具体的负载均衡的设置,将请求转移到其他的节点上,但是,

如果后台服务连接没有down掉,但是返回错误异常码如:504,502 500

解决方法:proxy_next_upstream http_500|http_502|http_504|http_404

proxy_next_uptream error timeout http_500 http_502 http_503 http_504