• Nginx+Tomcat 实现反向代理


    反向代理是指对于客户端而言代理服务器就是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理发送请求,接着反向代理将判断向何处(后端节点)转交请求,并将获得的内容返回给客户端,如下图所示:

                                                      图一  反向代理服务器

       下面我们来看一下如何使用nginx+tomcat实现反向代理。

     一、实现场景

         本例子通过虚拟机实现,一台虚拟机提供ngxin服务,另一台虚拟机提供两个tomcat服务。

         nginx负载均衡器:192.168.0.103

         tomcat1: 192.168.0.106:8080

         tomcat2: 192.168.0.106:8081

         配置好虚拟机和IP地址后,启动tomcat

      开始进行配置,下载nginx

         wget http://nginx.org/download/nginx-1.0.9.tar.gz

    二、配置host文件

       我们通过访问不同的域名访问运行在不同端口的tomcat,这就需要配置一下我们的host文件;

       www.test1.com 访问运行在8080端口的tomcat

       www.test2.com 访问运行在8081端口的tomcat     

     在C:\Windows\System32\drivers\etc\hosts文件中添加如下域名配置:

    # localhost name resolution is handled within DNS itself.
    #    127.0.0.1       localhost
    #    ::1             localhost

    192.168.0.106         www.test1.com
    192.168.0.106         www.test2.com

    三、nginx 反向代理配置

      在nginx.conf文件中配置反向代理,如下:

    #配置一个代理即tomcat1服务器  
            upstream tomcat_server1 {  
                server 192.168.0.106:8080;  
            }  
              
    #配置一个代理即tomcat2服务器  
        upstream tomcat_server1 {  
                server 192.168.0.106:8081;  
            }  
              
    #配置一个虚拟主机  
            server {  
                listen 80;  
                server_name www.test1.com;  
                location / {  
                        #域名www.test1.com的请求全部转发到tomcat_server1即tomcat1服务上  
                        proxy_pass http://tomcat_server1;  
                        #欢迎页面,按照从左到右的顺序查找页面  
                        index index.jsp index.html index.htm;  
                }  
      
            }  
              
            server {  
                listen 81;  
                server_name bbb.test.com;  
                location / {  
                     #域名www.test2.com的请求全部转发到tomcat_server2即tomcat2服务上  
                      proxy_pass http://tomcat_server2;  
                      index index.jsp index.html index.htm;  
                }  
            }  

    四、修改tomcat的访问页

       分别修改两个tomcat下的webapps/ROOT/index.jsp的内容,使用tomcat1和tomcat2两个服务首页显示不同的内容,如下:

        tomcat1下的index.jsp修改后:

     tomcat2下的index.jsp修改后:

              

    五、测试 ;

      启动nginx服务器,分别访问www.test1.com 和 www.test2.com 测试反向代理。

  • 相关阅读:
    Java多线程开发系列之五:Springboot 中异步请求方法的使用
    HTML+CSS简单漫画网页设计成品 蜡笔小新3页 大学生个人HTML网页制作作品
    百度曹海涛:生成式AI正从“探索能力边界”向“推动应用落地”过渡
    基于Springboot开发的家庭财务管理系统
    pytorch常见错误
    智能座舱架构与芯片- (13) 软件篇 下
    外汇天眼:了解外汇市场交易中的流动性
    vue部署,chunk文件有部分404,解决方案
    ssm毕设项目学术会议论文管理系统rl522(java+VUE+Mybatis+Maven+Mysql+sprnig)
    Linux虚拟机安装及Docker常用操作
  • 原文地址:https://blog.csdn.net/sinat_41075146/article/details/125448334