反向代理介绍
Apache可以被配置为正向(forward) 和反向(reverse) 代理。
正向代理是一个位于客户端和原始服务器(originserver)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。
正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。正向代理还可以使用缓冲特性(由mod_cache 提供)减少网络使用率。
使用ProxyRequests 指令即可激活正向代理 。
因为正向代理允许客户端通过它访问任意网站并且隐藏客户端自身,因此你必须采取安全措施 以确保仅为经过授权的客户端提供服务。
反向代理正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置.客户端向反向代理的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端,就像这些内容原本就是它自己的一样。
反向代理的典型用途是将防火墙后面的服务器提供给Internet用户访问.反向代理还可以为后端的多台服务器提供负载平衡,或为后端较慢的服务器提供缓冲服务。 另外,还可以启用高级URL策略和管理技术,从而使处于不同web服务器系统的web页面同时存在于同一个URL空间下。
可以使用ProxyPass指令激活反向代理(在RewriteRule 指令中使用[P] 标记也可以)。配置反向代理并不需要 打开ProxyRequests 指令(但有可能需要加载)。
实现部分
需要Apache 2.4.4, Tomcat 7
Apache HTTP Server端配置
/apache/conf/httpd.conf
#去掉注释以开启以下模块:
#for load balance
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_html_module modules/mod_proxy_html.so LoadModule proxy_http_module modules/mod_proxy_http.so
#to resolve the start failed issue:
#AH02432: Cannot find LB Method: byrequests
#AH01183: Cannot share balancer
#AH00020: Configuration Failed, exiting
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
#for index.jsp
<IfModule dir_module> DirectoryIndex index.html index.jsp </IfModule>
#for static content cache
LoadModule buffer_module modules/mod_buffer.so LoadModule cache_module modules/mod_cache.so LoadModule cache_disk_module modules/mod_cache_disk.so
#最后加入以下内容
#for load balance
ProxyRequests Off ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On <proxy balancer://cluster/> BalancerMember ajp://127.0.0.1:9001 loadfactor=1 route=jvm1 BalancerMember ajp://127.0.0.1:9002 loadfactor=1 route=jvm2 </proxy>
ProxyRequests Off
我们只使用反向代理功能, ProxyRequests并不需要, 所以设置为Off
ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On
ProxyPass为代理转发的Url,即将所有访问/*的请求转发到群集balancer://cluster/
其中cluster后面的"/"不可缺少, 否则使用status模块查看apache代理运行状态的时候将会出错
<proxy balancer://cluster/>
BalancerMember ajp://127.0.0.1:9001 loadfactor=1 route=jvm1
BalancerMember ajp://127.0.0.1:9002 loadfactor=1 route=jvm2
</proxy>
BalancerMember为群集的成员,即群集服务器Tomcat1, 2, ....,负载均衡服务器会根据均衡规则(loadfactor)来将请求转发给BalancerMember。
Apache使用ajp协议与tomcat子服务器进行交互, 协议后的路径为每个tomcat的运行地址, 端口为tomcat的ajp服务运行端口, 端口在server.xml的connector标签中设置.
route的值对应tomcat的server.xml中engine标签的jvmRoute属性.
Tomcat 端设置
需要多个tomcat安装到不同位置, 每个tomcat都需要配置以保证端口不互相冲突
Server.xml
8001需要保证端口不冲突
<Server port="8001" shutdown="SHUTDOWN">
这部分的HTTP端口, 默认是8080可以注释掉
<!-- <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> -->
相关推荐
反向代理负载均衡 Apache + Tomcat集群 多的我也不多说了 看文档
windows下apache+tomcat反向代理模式配置负载均衡
下载完成后,将压缩包解压到位,并将多余的 ...2、安装配置 Apache 环境。 3、安装配置 Tomcat 集群环境。 具体的详细操作步骤及参数详解请参考: https://blog.csdn.net/hello_world_qwp/article/details/79698334
Apache和Tomcat实现集群和负载均衡(WindowsNT)
本文档是在windows环境下Apache2.4 + tomcat8 配置反向代理和负载均衡及session集群.
Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器... Nginx 支持简单的负载均衡和容错; 支持作为基本 HTTP 服务器的功能,例如日志、压缩、Byte ranges、Chunked responses、SSL、虚拟主机等等,应有尽有
对apache与tomcat的集群配置进行了详细的描述。 基础篇:系统部署、集群配置、集群方式; 晋级篇:正向与反向代理、访问控制、均衡策略之ProxyPass、均衡策略之ProxyPassReverse、代理struts2工程、PROXY_HTTP与...
Tomcat7.0.68 Apache2.4.4 1.安装Apache2.4.4 安装过程中没什么注意事项,一直Next就行了。安装完成后默认开启Apache服务,可以在浏览器上输入localhost或者127.0.0.1,这时候会出现It works的字样 2.Java环境 在...
apache tomcat 反向代理,http502错误,百度搜的解决不了问题 a.com 可以访问,www.a.com 无法访问http502错误
IIS反向代理Apache、Tomcat、隐式URL教程
目录: 负载均衡技术介绍 什么是负载均衡? 负载均衡算法原理 负载均衡应用模式 高可用的系统设计 什么是系统高可用性? 高可用的模式 ... Apache+Tomcat 高可用WEB集群 Keepalived +LVS 高可用应用集群
下面是实现2个tomcat实现负载均衡,如果只有一个则可删除一个 apache2.2以上版本,无需使用jk_mod来集成tomcat,直接使用ajp,很方便。 修改apache配置文件httpd.conf 启用mod_proxy_ajp 代码如下: #LoadModule ...
NULL 博文链接:https://guoba6688-sina-com.iteye.com/blog/705864
tomcat+apache+linux负载均衡集群配置反向代理
linux apache反向代理配置,写的有点乱,但是可以用,里面有说明文档 先弄 apache和tomcat整合 把80端口给apache 举例 tomcatA 8080 tomcatB 8081 在apache的httpd.conf里写反向代理,用户名指向tomcat的端口,具体...
一、 目标实现高性能负载均衡的Tomcat集群: 二、步骤 1、首先下载Nginx,要下载稳定版: 2、然后解压两个Tomcat,分别命名为apache-tomcat-6.0.33-1和apache-tomcat-6.0.33-2: 3、然后修改这两个Tomcat的...
这个软件就是通过apache反向代理方式实现效果,项目使用tomcat发布,apache代理服务至tomcat,这里tomcat的配置就列出来了
IIS与Apache 80端口不能共用,Apache发布了个站点端口8080,现在想通过域名www.apache.com直接访问127.0.0.1:8080站点
Nginx是一个高性能的HTTP服务器/反向代理服务器及电子邮件(IMAP/POP3...在这里我们采用集群部署方式,使用多个Tomcat,反向代理使用Nginx。 架构如下: 准备工作 apache-tomcat-7.0.61 nginx-1.12.2 Redis-x64-3.2.10
本文介绍了Nginx与Tomcat实现动静态分离和负载均衡,所谓动静分离就是通过nginx(或apache等)来处理用户端请求的图片、html等静态的文件,tomcat(或weblogic)处理jsp、do等动态文件,从而达到动静页面访问时通过...