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