反向代理

1.proxy_pass 通过反向代理把请求转发到百度

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

Nginx反向代理与负载简单实现 随笔 第1张

Nginx反向代理与负载简单实现 随笔 第2张

2.proxy_pass 既可以是ip地址,也可以是域名,同时还可以指定端口

3.proxy_pass 指定的地址携带了URI,如果前面配置【/s】,那么这里的URI将会替换请求URI中匹配location参数部分;

   如上代码将会访问到http://www.baidu.com/s

 

端口转发

Nginx反向代理与负载简单实现 随笔 第3张
server {
        listen       80;
        server_name  localhost;

         location / {
            root   html;
            index  index.html index.htm;
        }

        location /aone_in{
                  proxy_pass                    http://localhost:8080/aone_in;
                  proxy_set_header              Host $host;
                  proxy_set_header              X-Real-IP  $remote_addr;
                  proxy_set_header              X-Forwarded-For $proxy_add_x_forwarded_for;
                  proxy_set_header                      Upgrade $http_upgrade;
                  proxy_set_header                      Connection "upgrade";
                  client_max_body_size  100m;
                  root                  html;
                  index                 index.html index.htm;
        }
Nginx配置

启动的tomcat是8080端口,nginx通过80端口转发到8080的tomcat中

 

负载均衡

Nginx反向代理与负载简单实现 随笔 第5张
upstream tomcatServer{
        server localhost:8081 weight=30;
        server localhost:8080 weight=30;
}

server {
        listen       80;
        server_name  localhost;

         location / {
            proxy_pass http://tomcatServer/aone_in/admin/login.jsp;
            root   html;
            index  index.html index.htm;
        }
}
Nginx配置

8080与8081两端口起了两个tomcat,启动nginx新配置后,通过访问ip可以跳转不同tomcat。

单服务器部署,可以将localhost换成不同服务器的ip。

 

存在问题

1.样式乱了

 加上:

proxy_set_header   Host $host;
proxy_set_header   X-Real-IP  $remote_addr;
proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header   Upgrade $http_upgrade;
proxy_set_header   Connection "upgrade";

2...........

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄