`

使用Apache 反向代理功能连接 Tomcat

阅读更多
http://topic.csdn.net/t/20060912/11/5015746.html


Apache   HTTP   server   和   Tomcat   server   整合,一般是希望对于用户只公布   Apache   HTTP   server   的网址,而   Tomcat   的网址则不公布,扮演一个幕后英雄的角色。访问   Tomcat   的   HTTP   请求,通过   Apache   转发给   Tomcat,Tomcat   处理完后,将   HTTP   回应返回给   Apache,然后   Apache     HTTP   回应发回给用户端浏览器。

Apache   HTTP   server   和   Tomcat   server   直接的   HTTP   数据传输,有很多种方法。

方法一,使用   mod_jk。很多网站上介绍到   Apache   HTTP   server   和   Tomcat   server   整合的时候,都是在介绍     mod_jk.so   的使用,这是一种比较老的方法,并且需要额外下载   mod_jk。Apache   和   Tomcat   的默认配置文件都需要改动。

方法二,   URL   rewrite,也就是对于指定格式的   URL,转发给某个   Tomcat   的网址。这里所说的指定格式,是指   Apache   所使用的正则表达式,通俗地将,是一种类似   *   的一种比较高级通配符。这种方法不需要下在额外的文件,只需要配置   Apache。

方法三,mod_proxy_ajp,仅在   Apache   2.1   及以后的版本中可用,Apache   自带的一个新功能模块。这时   Apache   使用   Apache   JServ   Protocol   与   Tomcat   通讯。不需要下在额外的文件,需要改动Apache   和   Tomcat   的默认配置文件都需要改动。

方法四,mod_proxy。其实   mod_proxy   既可以做类似于   Wingate   一样的公司局域网共享上网代理,也可以做反向代理(Reverse   proxy)。这里使用的是反向代理功能,用户端浏览器不需要把代理服务器改成这里的   Apache   地址。mod_proxy   是   Apache   自带功能,并且配置比较简单。

这篇文章介绍   Apache   反向代理转发   HTTP   请求到   Tomcat   的配置。比较简单实用。

下载   Apache   web   server     2.2,安装完成后,修改安装目录下的   conf/httpd.conf   文件,将以下两行前的注释字符   #   去掉。

#LoadModule   proxy_module   modules/mod_proxy.so
#LoadModule   proxy_http_module   modules/mod_proxy_http.so

在这个配置文件最后,加上

ProxyPass                                     /app1   http://<tomcat_server_address>:port/url1

ProxyPassReverse     /app1   http://<tomcat_server_address>:port/url1

保存配置文件后重新启动   Apache   就可以了。当用户访问

http://<apache_server_address>/app1   的时候,Apache   后台自动将请求转发给   Tomcat   ,用户只认为   Apache   server   就是他所要的应用服务器。

细心的作者可以看到,Tomcat   那边没有做任何改动,是不是说明,如果   Tomcat   换成   JBoss,或者   IBM   Websphere,或者   BEA   Weblogic   ,也可以用   Apache   来转发呢?答案是,确实如此!!

这里需要解释的是,   Apache   反向代理只做   HTTP   透明转发,因此,Tomcat   那边,如果使用   servelet   API   获取   request   url,   server   info,等等,都是   Tomcat   的。在Tomcat   上的   JSP   或者   HTML   文件里面,都应该是相对路径,不应该使用绝对路径,更不能使用带   Tomcat   地址的   URL。这应该不是太高的要求,对不?

目前最新版的   Apache   自带的   cache   ,只能配置成   server   或者   virtual   host   一级的,没有办法配置到   URL   一级。好在一般的   J2EE   应用性能问题,一般都在动态网页部分,静态网页很好,因此也没有太大关系。

对于要求比较高的应用,比如用户量多的新闻网站或者论坛网站,如果要求是用   Apache   缓冲后台的动态网页,比如说,我的首页可以允许缓存一分钟,则在这一分钟内,比如有两千次用户访问   http://somehost/index.jsp,只有第一次用户访问,Apache   会把请求转发到   Tomcat,其余的   999   次访问,都是由   Apache   从缓冲中取出这个页面返回给用户看。这样后台的动态网页服务器的负荷会小很多。以目前的   Apache   最新版本来说,使用反向代理达不到这个要求,应该使用   Apaceh   新建一个   virtual   host   ,换成使用   URL   rewrite。这与题目无关,就此打住。
分享到:
评论

相关推荐

    IIS反向代理Apache、Tomcat、隐式URL教程.zip

    IIS反向代理Apache、Tomcat、隐式URL教程

    apache tomcat 反向代理502错误.txt

    apache tomcat 反向代理,http502错误,百度搜的解决不了问题 a.com 可以访问,www.a.com 无法访问http502错误

    linux apache反向代理配置

    linux apache反向代理配置,写的有点乱,但是可以用,里面有说明文档 先弄 apache和tomcat整合 把80端口给apache 举例 tomcatA 8080 tomcatB 8081 在apache的httpd.conf里写反向代理,用户名指向tomcat的端口,具体...

    反向代理负载均衡 Apache + Tomcat集群

    反向代理负载均衡 Apache + Tomcat集群 多的我也不多说了 看文档

    IIS反向代理Apache、Tomcat、隐式URL.zip

    - 规则名称:可以自定义,例如“Apache反向代理”。 - 匹配URL:输入`.*`,表示匹配所有请求。 - 重写目标:设置为“向内部服务器发送请求”,地址填写`http://127.0.0.1:8080/{R:0}`。这里的`{R:0}`代表原始URL...

    apache2.4+tomcat8反向代理集群

    ### Apache2.4+Tomcat8 反向代理集群配置详解 #### 一、概述 在Windows环境下配置Apache2.4与Tomcat8的反向代理集群,涉及到多个步骤和技术要点,包括Apache与Tomcat的基本安装配置、负载均衡以及Session共享机制...

    Windows 下使用 Apache + Tomcat 实现Web集群环境(负载均衡/反向代理)

    下载完成后,将压缩包解压到位,并将多余的 ...2、安装配置 Apache 环境。 3、安装配置 Tomcat 集群环境。 具体的详细操作步骤及参数详解请参考: https://blog.csdn.net/hello_world_qwp/article/details/79698334

    windows下apache+tomcat反向代理模式配置负载均衡(091124整理).rar

    windows下apache+tomcat反向代理模式配置负载均衡

    tomcat反向代理机制视频

    综上所述,这个“Tomcat反向代理机制视频”为开发者和系统管理员提供了一个全面的学习资源,通过三个阶段的详细讲解,帮助他们掌握如何在实际项目中运用Tomcat的反向代理功能,提升系统性能和安全性。无论是对Tomcat...

    nginx+tomcat反向代理安装配置

    在IT行业中,构建高效、可扩展的Web服务是至关重要的,而`nginx`和`tomcat`的结合使用就是一种常见的解决方案。`nginx`作为一款高性能的反向代理服务器和负载均衡器,常用于处理静态资源,而`tomcat`则作为Java应用...

    Nginx反向代理实现多Tomcat负载均衡 (1).md

    ### Nginx 反向代理实现多 Tomcat 负载均衡详解 #### 一、基础知识概述 在深入了解如何利用 Nginx 实现对多个 Tomcat 的负载均衡之前,我们首先来简要回顾一下几个核心概念: - **Nginx**:是一款高性能的HTTP和...

    centos5.5安装apache-2.2.22并配置反向代理

    这个软件就是通过apache反向代理方式实现效果,项目使用tomcat发布,apache代理服务至tomcat,这里tomcat的配置就列出来了

    Nginx反向代理Tomcat服务器.pdf

    综上所述,Nginx作为反向代理与Tomcat服务器结合使用,可以实现Web应用的高并发处理和负载均衡。这种组合在生产环境中非常常见,能够有效地提高服务的稳定性和性能。在部署和配置时需要综合考虑操作系统、应用服务器...

    Apache HTTP Server 与 Tomcat 的三种连接方式介绍

    本文将详细介绍Apache HTTP Server与Tomcat的三种连接方式:独立模式、代理模式和集成模式。 一、独立模式 在独立模式下,Apache和Tomcat作为两个独立的服务器运行。Apache主要负责处理静态内容,如HTML、CSS、...

    apache-tomcat-6.0.18

    在实际应用中,Tomcat常与其他软件集成,如Apache HTTP Server(通常称为Apache,非此处的标签“阿帕奇”)进行负载均衡和反向代理,提供更高的性能和安全性。Apache HTTP Server是一个流行的HTTP服务器,负责处理...

    tomcat+apache 6.0集成打包

    JK模块是Apache的负载均衡和反向代理模块,使得Apache能够处理静态内容,而将动态内容的处理交由Tomcat完成。 【描述】中提到的“安装配置说明文档”是非常重要的,因为它提供了详细步骤来指导用户如何正确地安装和...

    Apache+Tomcat整合

    综上所述,Apache 和 Tomcat 的整合涉及了 Apache 的模块加载、反向代理配置,以及 Tomcat 的集群和连接器设置。通过这种方式,我们可以实现一台主机上的单站点集群和负载均衡,从而提升网站的可用性和性能。

    apache+tomcat整合配置

    3. **配置Apache反向代理** 在Apache的配置文件中,定义一个虚拟主机,并设置反向代理到Tomcat。以下是一个基本示例: ```apacheconf *:80&gt; ServerName yourdomain.com ProxyPreserveHost On ProxyPass / ...

    apache+nginx+tomcat

    1. Nginx 作为前端服务器,负责处理静态资源请求,提供 SSL/TLS 加密,进行负载均衡,同时作为反向代理,将动态请求转发给 Apache 或 Tomcat。 2. Apache 可以作为动态内容处理器,尤其是当应用使用 PHP 或其他 ...

    apache-tomcat-8.5.31.zip

    例如,`server.xml`中的`Connector`元素可以配置连接器以支持负载均衡,通过设置`proxyName`和`proxyPort`属性来指定反向代理服务器的地址和端口,或者使用`&lt;Engine&gt;`元素内的`Host`和`Valve`标签来实现更复杂的路由...

Global site tag (gtag.js) - Google Analytics