Nginx负载均衡和反向代理

1:反向代理

         代理就是中介,那有反向代理就有正向代理,两者的区别是什么嘞?

          正向代理隐藏真实客户端,服务端不知道实际发起请求的客户端.,proxy和client同属一个LAN,对server透明;

          反向代理隐藏真实服务端,客户端不知道实际提供服务的服务端,proxy和server同属一个LAN,对client透明。 

   

    

    基本配置项 

  (1)proxy_pass

             将当前请求反向代理到URL参数指定的服务器上

      (2)proxy_method

            表示转发时的协议方法名

           proxy_method POST;       客户端转发来的GET请求在转发时方法名会改为POST请求

       (3)proxy_redirect

           当上游服务器返回的响应是重定向或者刷新请求(HTTP响应码是301或者302),可以重设HTTP头部的location或refresh

           proxy_redirect    http://location:8000/two/  http://location:8000/noe/

         (4)proxy_next_upstream

           当上游服务器请求出现错误,继续换一台服务器转发请求。     

    error:在与服务器建立连接,向其传递请求或读取响应标头时发生错误;

    timeout:在与服务器建立连接,向其传递请求或读取响应头时发生超时

    invalid_header:服务器返回空响应或无效响应;

    http_500:服务器返回了带有代码500的响应;

    http_502:服务器返回具有代码502的响应;

    HTTP_503:服务器返回具有代码503的响应;

    http_504:服务器返回具有代码504的响应;

    http_403:服务器返回带有代码403的响应;

    http_404:服务器返回具有代码404的响应;

    off:禁用将请求传递到下一个服务器。

         示例:

             #当其中一台返回错误码404,500...等错误时,可以分配到下一台服务器程序继续处理,提高平台访问成功率,多可运用于前台程序负载,设置proxy_next_upstream

        proxy_next_upstream http_500 | http_502 | http_503 | http_504 |http_404;

            #proxy_next_upstream off   关闭向下转发请求

            

2:负载均衡

       负载均衡直接上代码,用Http Proxy module配置一个反向代理服务器。

      示例如下:

      当server 192.168.1.2:80在30秒内断连3次就进行连接备份服务器。

#upstream模块

#定义一个上游服务器的集群
upstream backend {
#在30秒内连接失败次数超过3次 server 192.168.1.2:80 max_fails=3 fail_timeout=30s; #备份服务器 server 192.168.1.8:80 backup;
server 192.168.1.9:80 backip weight=5; } #server模块 server { listen 80; location / { proxy_pass http://backend; } }

   

猜你喜欢

转载自www.cnblogs.com/yaohong/p/9021690.html