4-nginx-反向代理

Posted bronk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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-反向代理的主要内容,如果未能解决你的问题,请参考以下文章

Nginx认识与基本使用 Nginx 实现反向代理配置负载均衡

Nginx认识与基本使用 Nginx 实现反向代理配置负载均衡

4-nginx-反向代理

Centos7.4 Nginx反向代理+负载均衡配置

Nginx保姆级入门——什么是反向代理?Nginx能实现哪些功能?

CentOS 7 安装Nginx做反向代理