反向代理

在Java企业级应用中,反向代理通常用来分流,或用来代理tomcat等Servlet容器服务。

在本例需求,Nginx反向代理tomcat,代理和服务对客户透明。当客户在浏览器上输入www.hello.com.cn时,请求会发给Nginx,Nginx本身不产生内容,将请求交给tomcat,tomcat影响请求,将数据返回给Nginx,Nginx将数据返回给客户浏览器。

在Nginx中设置反向代理,关键技术upstream,中文叫上游。在upstream配置中指向tomcat服务。然后在server,将location指向代理的tomcat。即完成反向代理。

下面是操作步骤:

1、有tomcat.apache.org网站下载tomcat

解压后双击执行apache-tomcat-8.5.31\bin\startup.bat

在浏览器地址栏输入http://localhost:8080/ 回车,能看到信息执行第二步

2、修改nginx-1.13.12\conf\nginx.conf

添加两段配置

第一段,在现有的server前添加如下:

server {
    listen    80;
    server_name  www.hello.com.cn;
 
    client_max_body_size 1024M;
 
    location / {
        proxy_pass http://my_server/;
        proxy_set_header Host $host:$server_port;
    }
}

  

listen 指定监听端口,默认为80

server_name 域名

client_max_body_size  文件上传的大小

location 设置代理,值为/

proxy_pass 指定上游服务

整段配置是当用户通过浏览器访问www.hello.com.cn:80时,会将请求交给上游处理。

下面是第二段配置,配置上游

upstream my_server {                                                         
    server 127.0.0.1:8080;                                                
    keepalive 2000;   
}

  

upstream 指定上游名称。第一段的配置中proxy_pass的值,即指向这里。两者关联时,名称要一致。

server 将服务指向tomcat,这里没有协议http://,仅有机器IP地址和端口

keepalive 指并发连接数,可以支持2000个并发请求。

到此反向代理请求完成。再启动nginx,在浏览器地址栏输入http://www.hello.com.cn/  回车,应该可以看到以下内容。

posted @ 2018-06-02 10:51  麦克斯-侯  阅读(228)  评论(0编辑  收藏  举报
百纵科技