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

图一  反向代理服务器

下面我们来看一下如何使用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 测试反向代理。

Nginx+Tomcat 实现反向代理相关推荐

  1. Nginx+Tomcat实现反向代理与动静分离

    1. 什么是动静分离 所谓动静分离就是通过nginx(或apache等)来处理用户端请求的静态页面,tomcat(或weblogic)处理动态页面,从而达到动静页面访问时通过不同的容器来处理. 2. ...

  2. nginx和tomcat实现反向代理、负载均衡和session共享

    这类的文章非常多,nginx和tomcat实现反向代理.负载均衡实现非常easy,能够參照http://blog.csdn.net/liuzhigang1237/article/details/888 ...

  3. Nginx配置实例-反向代理实例:根据访问的路径跳转到不同端口的服务中

    场景 Ubuntu Server 16.04 LTS上怎样安装下载安装Nginx并启动: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/detai ...

  4. Nginx(三):反向代理

    我们本篇将通过两个实例进行对Nginx反向代理的学习. 1.概念基础 反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就是可以访问.我们只需要将请求发送到反向代理服务器上,有反向代理服务 ...

  5. 分布式项目-Nginx安装(反向代理)

    可以根据parent_id来查询分类的列表 服务器上的图片是如果管理的? 1.如果是分布式环境引用会存在问题 2.图片的下载也会给服务器增加压力 3.如果存在高并发的话,就需要增加tomcat服务器, ...

  6. Nginx总结(反向代理、负载均衡、动静分离)篇

    一.Nginx简介 什么是Nginx Nginx ("engine x")是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上ngimx,的并发能力确实在同 ...

  7. linux上安装nginx及实现反向代理

    nginx是高性能的http和反向代理的服务器.占用内存少,并发能力强. 主要作用有:反向代理.负载均衡.动静结合. 接下来我将描述一下如何安装nginx,同时实现反向代理功能. 1.安装nginx ...

  8. Nginx玩法 — 反向代理

    Nginx玩法 - 反向代理 Nginx的反向代理是一块比较常用且重要的功能,查看一下关于反向代理的指令,你就体会到有多重要了,否则也不会给出20+的指令,翻看一下在上一篇正向代理用到的指令,一个手的 ...

  9. Nginx http和反向代理配置实例介绍

    Nginx  是一个高性能的 HTTP 和反向代理服务器,本节以实际实例介绍如何实现Nginx 反向代理. 1.  安装Nginx 安装Nginx之前,首先安装相关模块的依赖库: 这里安装Pcre和O ...

最新文章

  1. Java基础学习总结(10)——static关键字
  2. C++ 模板详解(二)
  3. centos7 iptables 端口转发 保存_Linux 开发笔记《如何在CentOS 7上启动和启用Firewalld》...
  4. 在OSGi中为Karaf构建Camel-CXF REST服务–组播和聚合
  5. mda.helper.php,dedecms后台更新缓慢甚至卡死怎么办
  6. 招商银行信用卡中心华泰证券暑期实习软开笔试小结
  7. java 反射实现 工厂模式_java – 用反射实现工厂模式
  8. 渗透测试之Nmap命令(一)
  9. 干货分享|安全测试起航之旅 1
  10. unix系统重启tcp服务器,《TCP/IP详解卷3:TCP事务协议、HTTP、NNTP和UNIX域协议》 —3.5 服务器重启动...
  11. 百度在线编辑器 显示html,UEditor百度编辑器中JS/html代码(script标签)被过滤的解决办法...
  12. 软件质量模型(学习笔记)
  13. html 自动执行vbs代码,vbs脚本教程 怎样在bat脚本中调用vbs脚本
  14. Java基本数据类型之char
  15. 【杂记】收藏的喜欢的句子
  16. algodoo是什么意思_ooc表示的是什么意思什么梗 网络用语OOC含义
  17. js获取上一个页面url
  18. 分布式存储系统-Ceph简单分析
  19. CLOCs:一种相机-激光雷达3D目标检测后融合方法
  20. 黄仁勋:串行计算过时并行计算是未来

热门文章

  1. PHP接入腾讯云行驶证识别(新旧版本,不使用SDK及DEMO)
  2. 数字孪生开发 数字孪生开发软件
  3. Unity3D 材质丢失
  4. terminate called after throwing an instance of ‘std::runtime_error‘
  5. 怎样才能上传百度文库,上传百度文库的操作步骤和技巧
  6. 梓晨教你十分钟快速搭建安装属于自己的网站
  7. 为什么不允许程序直接访问计算机资源?
  8. 励志成为博文美眉的第一天
  9. 回溯算法经典案例 1 ——N皇后 Java
  10. Oracle11g和oracle10g之间的导入/导出