• 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;
               }
    }
    

      

  • 相关阅读:
    批量管理服务器,批量分发文件
    IIS最大连接数优化
    在CentOS 7中安装与配置JDK8
    可扩展流程设计工具方案
    An internal erroroccurred during: "Removing compiler problem markers...".java.lang.String
    .NET和java之争实没必要
    提高生产率的VS插件
    Java Synchronized关键字
    Flex拖动实现方法
    WF3.0和4.0区别介绍
  • 原文地址:https://www.cnblogs.com/yaohong/p/9027649.html
Copyright © 2020-2023  润新知