Apache 代理(Proxy) 转发请求
代理分为:正向代理(Foward Proxy)和反向代理(Reverse Proxy)
1、正向代理(Foward Proxy)
正向代理(Foward Proxy)用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器,由代理服务器负责请求Internet,然后返回Internet的请求给内网的客户端。
Internal Network Client ——(request-url)——> Foward Proxy Server ———— > Internet
2、反向代理(Reverse Proxy)
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。如图:
/————> Internal Server1
Internet ————> Reverse Proxy Server ————> Internal Server2
\————> internal serverN
Apache 代理
apache支持正向代理和反向代理,但一般反向代理使用较多。
#正向代理 # 正向代理开关
ProxyRequests On
ProxyVia On <Proxy *>
Order deny,allow
Deny from all
Allow from internal.example.com
</Proxy>
# Reverse Proxy # 设置反向代理
ProxyPass /foo http://foo.example.com/bar
# 设置反向代理使用代理服务的HOST重写内部原始服务器响应报文头中的Location和Content-Location
ProxyPassReverse /foo http://foo.example.com/bar
注意:ProxyPassReverse 指令不是设置反向代理指令,只是设置反向代理重新重定向(3xx)Header头参数值。
举例:
下面是典型的APACHE+TOMCAT负载均衡和简单集群配置
ProxyRequests Off
ProxyPreserveHost on ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=Off
ProxyPassReverse / balancer://cluster/
<Proxy balancer://cluster> BalancerMember http://localhost:8080 loadfactor=1 retry=10 BalancerMember http://localhost:8081 loadfactor=1 retry=10 ProxySet lbmethod=bybusyness
</Proxy>
ProxyPassReverse / balancer://cluster/ 表示负载均衡配置中的所有TOMCAT服务器,如果响应报文的Header中有Location(3xx指定重定向的URL)或Content-Location(指定多个URL指向同一个实体),则使用请求报文中HOST替换URL中的HOST部分。
- GET http://apache-host/entityRelativeUrl
- tomcat response 307 ,Header Location: http://localhost:8080/entityRelativeUrl
- apache 重写 response header中的Location为:http://apache-host:8080/entityRelativeUrl
注意:只有TOMCAT RESPINSE Location中的URL的Host部分匹配tomcat原始HOST的情况才重写。如307到http://localhost:8088/entityRelativeUrl是不会重写的。
Apache 代理(Proxy) 转发请求相关推荐
- 88.http反向代理proxy处理请求的流程
proxy模块从客户端接收http协议,转发给上游也是http协议 proxy_request_b ...
- 使用Apache的Proxy模块实现对被代理网站的访问
为已编译的apache2添加mod_proxy模块 和应用 http://help.lampok.net/log/?p=1525 这篇文章试过可以,在apache2.2.23版本的时候. blog.5 ...
- Apache端口设置多域名和转发请求(虚拟域名)
在Apache里设置80端口有多个域名:(我的apache是在C盘) 找到C:\xampp\apache\conf\extra\httpd-vhosts.conf,打开: 在文件最后添加配置: < ...
- 阿里云服务器安装并配置nginx代理转发请求
阿里云服务器安装并配置nginx代理转发请求 下载nginx安装包,或者上传nginx安装包,此处我用的是Xmanager工具从本地上传了一个nginx安装包. 安装依赖库 yum -y instal ...
- linux下最简单多线程单文件socks5代理proxy服务器程序(仅一个c文件,带详细注解)
2020.9.11 网上看的都比较复杂,GITHUB找了一个多线程的相对简单的MicroSocks项目,花了几周时间(没办法,菜鸟一个)改了一下,改成单文件,测试OK. /* wxl_socks5_p ...
- 服务器端代理proxy实现跨域访问
在koa中使用代理proxy 我们知道浏览器有个"同源策略"的限制,再回忆一下,同源是 什么?所谓同源,即同协议.同域名.同端口.如果不满足同源三者条件任意一个,即是非同源,也就是 ...
- devServer proxy跨域 设置代理 proxy
概念 什么是同源策略 同源策略是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响.可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一 ...
- apache代理时java获取IP的问题
2019独角兽企业重金招聘Python工程师标准>>> x-forwarded-for的深度挖掘 如今利用nginx做负载均衡的实例已经很多了,针对不同的应用场合,还有很多需要注意的 ...
- 动态代理proxy与CGLib的区别
转载自 动态代理proxy与CGLib的区别 昨天被人问及动态代理与CGlib的区别,赶紧回顾一下: 什么是代理? 静态代理与动态代理 静态代理实例 JDK动态代理实例 CGLib 简介 CGLib ...
最新文章
- Node.js webpack-dev-server配置命令的两种方式
- redis基础一_常用指令
- ConcurrentHashMap 总结( 上 )
- 微信小程序 一些要点
- python object类_Python中一切皆对象,这个对象究竟是什么?
- Linux使用/proc/stat计算CPU使用率
- iphone静音键失灵_静音键——大部分安卓手机都不爱用的神设计
- python微信聊天机器人_用python实现微信聊天机器人
- “银行卡三要素验证”—派遣工工资表单零差错
- 软件测试面试题整理(四)之接口测试篇
- KVM虚拟化进阶--KVM设备高级管理
- php soh stx,symbol NULL SOH STX ETX EOT ENQ ACK ASCII(符号零SOH STX ETX传输结束询问ACK ASCII).pdf...
- 计算机重装后如何连接无线网络,笔记本重装系统后无法连接无线网络怎么办
- 你喜欢什么样的团队氛围
- solidworks2014激活失效该怎么办?
- cad怎么将图层后置_CAD中如何将某一个图层置于其他图层之上???
- 软件测试 Web自动化测试 基础知识 HTML CSS JavaScript
- 文献阅读-区块链发展现状与展望
- asp+excel通用成绩查询系统 v6.8 工资查询物业费水电费查询通用哦
- 全智通A+常见问题汇总解答—A+库存损益编辑页面输入损益数量+损益结果!=当前库存