首页 > 代码库 > 4-nginx-反向代理

4-nginx-反向代理

反向代理相比于正向代理, 比如使用搬瓦工时, 就是位于客户端的正想代理, 而反向代理则是服务器端的代理, 主要用于实现请求分发, 负载均衡等功能

技术分享

反向代理主要有2个重要的配置: 

proxy_pass    C语言的代理函数

upstream

 1, 直接通过proxy_pass配置nginx访问tomcat服务器

 # 虚拟主机1
    server {
        listen       80;
        server_name  wenbronk.nginx-01.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            # 配置允许规则
            allow 192.168.1.0/24;
            allow 192.168.0.0/16;
            deny all;

            # 配置用户访问控制
            auth_basic "basicAccess";
            auth_basic_user_file /usr/nginx-passwd;

            #root   html;
            #index  index.html index.htm;
            proxy_pass http://localhost:8080;
        }
           error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

}

一定要加最后的 ; !!!!!!!

此时, 通过访问 wenbronk.nginx-01.com 就可以访问tomcat首页了

2, 实现负载均衡

使用upstream

upstream_名字 {

  server: IP:PORT weight=1;

}

server {

  location /{

    proxy_pass: http://名字;
  }

}

 

 upstream weight_tomcat {
        server 192.168.208.101:8080 weight=1;
        server 192.168.208.102:8080 weight=2;
    }

    # 虚拟主机1
    server {
        listen       80;
        server_name  wenbronk.nginx-01.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            # 配置允许规则
            allow 192.168.1.0/24;
            allow 192.168.208.0/24;
            deny all;

            # 配置用户访问控制
            auth_basic off;
            auth_basic_user_file /usr/nginx-passwd;

            #root   html;
            #index  index.html index.htm;
            proxy_pass http://weight_tomcat;
        }
...
...
}

其中的 weight= 1 既可以实现轮询时的负载均衡功能

 

 

系列来自尚学堂极限班

4-nginx-反向代理