`
cryolite
  • 浏览: 581528 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

HTTP反向代理的理解

阅读更多
出于安全考虑,局域网内的机器访问访问墙外的网站借助于代理服务器进行,如果把局域网外Internet想象成一个巨大的资源库,局域网内的用户要访问这个库里的资源必须统一通过代理服务器进行。反过来,如果局域网向Internet提供资源,让Internet上的用户访问局域网内的资源也可以设置成一个代理服务器,只不过与我们常用的代理服务器方向正好相反,所以叫反向代理(Reverse Proxy)。

包括反向代理,代理可分为三种
1. 标准的代理缓冲服务器
  我们对付墙用的就是这种。这种方式需要在浏览器配置中指明代理服务器的IP地址和端口号。浏览器每次都把请求送给代理服务器处理,翻墙常用的方式就是这种。代理服务器可以有缓存的功能:它根据请求确定是否连接到远程web服务器获取数据,如果在本地缓冲区有目标文件,则直接将缓存数据传给用户即可,如果没有的话则先取回文件,先在本地保存一份缓冲,然后将文件发给客户端浏览器。
2. 透明代理缓冲服务器
  墙对付我们就是用的这种,透明代理缓冲服务和标准代理服务器的功能完全相同。但是,代理操作对客户端的浏览器是透明的(即不需指明代理服务器的IP和端口)。透明代理服务器阻断网络通信,并且过滤出访问外部的HTTP(80端口)流量。如果客户端的请求在本地有缓冲则将缓冲的数据直接发给用户,如果在本地没有缓冲则向远程web服务器发出请求,其余操作和标准的代理服务器完全相同。对于Linux操作系统来说,透明代理使用Iptables或者Ipchains实现。因为不需要对浏览器作任何设置,所以,透明代理对于ISP(Internet服务器提供商)特别有用。
3. 反向代理缓冲服务器
  反向代理是和前两种代理完全不同的一种代理服务。使用它可以降低原始WEB服务器的负载。反向代理服务器承担了对原始WEB服务器的静态页面的请求,防止原始服务器过载。它位于本地WEB服务器和Internet之间,处理所有对WEB服务器的请求,组织了WEB服务器和Internet的直接通信。如果互联网用户请求的页面在代理服务器上有缓冲的话,代理服务器直接将缓冲内容发送给用户。如果没有缓冲则先向WEB服务器发出请求,取回数据,本地缓存后再发送给用户。这种方式通过降低了向WEB服务器的请求数从而降低了WEB服务器的负载。


反向代理有两种用法:
一种是为多个网站的Web服务器提供代理,这些网站的域名都指向反向代理服务器,对这些网站的请求全都发给了反向代理,由反向代理服务器转发HTTP请求给相应网站的Web服务器。
一种是为一个网站的Web服务器集群提供代理,反向代理作为负载均衡器决定具体哪个Web服务器接收请求。

反向代理总是位于Web服务器的前端,Internet上的用户对Web服务器的连接要先经过反向代理,然后由反向代理决定哪个Web服务器处理用户请求,并将请求路由给相应的Web服务器。对静态内容可以在反向代理上缓存,这样就不用再向Web服务器路由了。

除了缓存和负载均衡,反向代理还能提供如下功能:
  1. 安全:反向代理隔离了用户和Web服务器,用户很难针对特定的服务器发动攻击;
  2. 数据加密/ SSL 加速: 某些Web服务器可能不具有SSL加密功能,但是具有加密功能的反向代理服务器可以为Web服务器提供数据加密,而且装备了SSL加速硬件的反向代理服务器还能为Web应用提供了高速的加密通道;
  3. 压缩:代理服务器能压缩经过的数据以节省带宽


详见反向代理
分享到:
评论
1 楼 jallin 2010-07-31  

非常感谢,楼主讲解的比较详细,学习了

相关推荐

    Go-简单的反向代理用于内网穿透

    首先,我们要理解什么是反向代理。反向代理是位于服务器和客户端之间的一个中间层,客户端对反向代理发起请求,然后代理会转发这些请求到实际的服务器上,并将响应结果回传给客户端。这样做的好处包括负载均衡、安全...

    Cobalt_Strike_C2隐匿多级nginx反向代理1

    Nginx 是一款高性能的 HTTP 和反向代理服务器,可以将客户端请求转发到其他服务器,从而隐藏原始服务器的身份。在多级反向代理的场景中,请求会经过多个 Nginx 服务器,每级都指向下一个级别的服务器,最终达到目标 ...

    tomcat反向代理机制视频

    这个“Tomcat反向代理机制视频”详细讲解了如何配置和使用Tomcat进行反向代理,帮助我们深入理解这一核心概念。 【描述】:“视频讲解详细,总共是三个阶段讲解” 这表明视频内容分为三个部分,每个部分可能涵盖了...

    nginx 反向代理.docx

    Nginx是一款广泛使用的高性能HTTP服务器和反向代理服务器。在Nginx中配置反向代理可以帮助实现服务器集群的负载均衡和提高安全性。 **示例配置:** 下面是一个简单的Nginx反向代理配置示例,假设我们需要让`...

    kangle反向代理linux安装包

    在了解如何使用这个安装包之前,我们先来深入理解反向代理的基本概念。反向代理(Reverse Proxy)是网络服务的一种架构模式,其工作原理是,客户端的请求首先会到达反向代理服务器,然后由反向代理服务器决定将请求...

    https通信nginx反向代理443端口

    在IT行业中,HTTPS通信是确保网站数据安全传输的重要手段,而Nginx作为一款高性能的HTTP和反向代理服务器,常被用来实现这种安全通信。本文将深入探讨如何通过Nginx配置HTTPS服务器,实现443端口的反向代理,以及与...

    nginx实现Tomcat反向代理

    首先,理解反向代理的概念。反向代理是指客户端发送请求到Nginx服务器,Nginx再将请求转发给后端的Tomcat服务器处理,然后将响应结果返回给客户端。这样做的好处包括负载均衡、缓存、安全隔离以及优化性能等。 1. *...

    nginx反向代理服务

    首先,我们要理解什么是反向代理。反向代理是指用户访问服务器时,请求不是直接到达应用服务器,而是先由Nginx服务器接收,然后Nginx根据预设规则将请求转发到内部的web服务器。这样做的好处包括:隐藏真实服务器IP...

    Squid 反向代理配置

    ### Squid 反向代理配置详解 #### 一、实验背景及目标 本文档旨在详细介绍如何在特定环境下配置Squid作为反向代理服务器。实验环境包括一台运行Red Hat Enterprise Linux 5.5 (RHEL5.5)的虚拟机以及另一台运行...

    Go-Træfɪk一个用golang写的HTTP反向代理和负载均衡

    在深入探讨Go-Træfɪk的功能之前,我们先来理解一下什么是HTTP反向代理和负载均衡。HTTP反向代理是指位于客户端和服务器之间的一个中间层,它接收客户端的请求,并决定将这些请求转发给哪个后端服务器。反向代理...

    nginx 负载均衡与反向代理资源

    **Nginx是一款高性能、轻量级的HTTP和反向代理服务器,被广泛应用于Web服务领域,尤其在处理高并发连接方面表现出色。在Win7 64位系统上安装Nginx,可以利用其强大的负载均衡和反向代理功能,优化网站性能并提升可用...

    Apache+SSL安全反向代理配置案例

    【Apache+SSL安全反向代理配置案例】 Apache作为一款广泛应用的开源HTTP服务器,常常被用于构建网站服务。SSL(Secure Socket Layer)则是提供网络安全传输的一种协议,常用于加密通信,确保数据在传输过程中不被...

    反向代理-Nginx

    **Nginx 反向代理详解** Nginx 是一款广泛应用的开源Web服务器,以其高性能、高并发处理能力而著名。作为一个反向代理服务器,Nginx 能够在客户端和后端应用服务器之间起到中介作用,从而实现负载均衡、缓存、安全...

    apache 反向代理实现 负载均衡

    总的来说,Apache反向代理和负载均衡的实现涉及到对`httpd.conf`配置文件的深入理解和调整,这需要对HTTP协议、Web服务器工作原理以及Apache模块有一定的了解。通过熟练掌握这些技能,我们可以构建出高效、可靠的...

    反向代理负载均衡HAPROXY最佳实践

    在探讨HAPROXY在反向代理负载均衡中的最佳实践之前,我们首先需要理解集群的基本概念及其作用。集群(Cluster)是一种将多台计算机通过网络连接起来共同提供服务的技术。在集群中,每台计算机被称为一个节点(Node)...

    Nginx搭建反向代理服务器过程详解

    Nginx(发音同“engine x”)是一款高性能的HTTP和反向代理服务器,由俄罗斯程序员Igor Sysoev开发,设计宗旨是占用资源少,并且高度稳定和具有灵活的配置。Nginx支持跨平台操作,可在多种操作系统上运行,包括UNIX...

    apache反向代理和负载均衡总结

    本文将深入探讨Apache反向代理与负载均衡的配置及应用,帮助读者更好地理解和掌握这两项关键技术。 #### 反向代理概述 反向代理是一种网络架构模式,其中代理服务器接收客户端的请求,然后将这些请求转发给内部...

    cdn软件高级版(nginx反向代理方式实现)

    总结来说,通过Nginx实现CDN服务需要理解反向代理的工作机制,并熟练配置Nginx以达到优化内容分发的目的。虽然这个方案可能不是最专业或最高效的CDN解决方案,但对于小型项目或个人学习,这是一个很好的起点。

    Nginx反向代理与负载均衡

    Nginx 是一款广泛使用的高性能 HTTP 和反向代理 Web 服务器,同时也提供了 IMAP/POP3/SMTP 服务。Nginx 的核心特性之一是其高效的反向代理能力以及强大的负载均衡功能。 ##### 1.1 反向代理 - **概念**:反向代理...

    Go-Postman是一个HTTP到AMQP反向代理

    首先,我们来理解一下什么是反向代理。反向代理是一种网络服务器架构,它充当客户端(如Web浏览器)和实际服务器之间的中介。在这种情况下,Go-Postman接收HTTP请求,然后将这些请求转发到AMQP服务器,而不是直接...

Global site tag (gtag.js) - Google Analytics