A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

Nginx与反向代理

一,什么是反向代理:
      反向代理服务器架设在服务器端,通过缓冲经常被请求的页面来缓解服务器的工作量,将客户机请求转发给内部网络上的目标服务器;并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器与目标主机一起对外表现为一个服务器。
二,反向代理的主要作用:
      目前web网站使用反向代理,除了可以防止外网对内网服务器的恶性攻击、缓存以减少服务器的压力和访问安全控制之外,
还可以进行负载均衡,将用户请求分配给多个服务器。

三,配置反向代理(Nginx):
       Nginx作为近年来较火的反向代理服务器,安装在目的主机端,主要用于转发客户机请求,后台有多个http服务器提供服务,
nginx的功能就是把请求转发给后面的服务器,决定哪台目标主机来处理当前请求。
     (1) 模拟2个http服务器作为目标主机, 分别将这两台主机的端口改为80818082;
     (2) 配置IP域名如下:
         192.168.72.49test8081.com
           192.168.72.49 test8082.com
(3) 配置nginx.conf,如下:

[Java] 纯文本查看 复制代码
upstream tomcatserver1 {  
    server 192.168.72.49:8081;  
    }  
upstream tomcatserver2 {  
    server192.168.72.49:8082;  
    }  
server {  
        listen       80;  
        server_name  test8081.com;  
        #charset koi8-r;  
        #access_log  logs/test8081.com.log  main;  
  
        location / {  
            proxy_pass   http://tomcatserver1;  //反向代理服务器的地址
            index  index.html index.htm;  
        }       
    }  
server {  
        listen       80;  
        server_name  test8082.com;  
        #charset koi8-r;  
        #access_log  logs/test8082.com.log  main;  
        location / {  
            proxy_pass   http://tomcatserver2;  
            index  index.html index.htm;  
        }          
    }  


  (4) 重启Nginx服务,验证结果。
      service nginx restart
       使用浏览器访问test8081.com,由于nginx反向代理接受客户机请求,找到server_name为test8081.com的server节点, 根据proxy_pass对应的http路径,将请求转发到upstream tomcatserver1上,即端口号为8081的tomcat服务器。



1 个回复

倒序浏览
奈斯
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马