`

什么是反向代理,如何利用反向代理提高网站性能

阅读更多

1.什么是正向代理和正向代理服务器?

      正向代理就是通常所说的代理,是某台电脑通过一台服务器来上Internet网的这种方式,其中这台电脑就叫客户机,这台服务器就叫正向代理服务器也就是通常所说的代理服务器。在这种方式中,你是主动的,网站是被动的,网站那里不能得到你的真实ip地址。(通俗讲法)

 

      正向代理服务器。它只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器(一般在IE-Internet选项-连接-局域网设置),并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。

 

2.什么是反向代理和反向代理服务器?

     反向代理就是网站通过一台服务器发布到公网,供用户访问。用户直接访问那台反向代理服务器,然后通过那台服务器访问到网站。用户无法得到网站的真实IP地 址。这样就保护了网站服务器,如果您有台服务器在国内又不想让人找到IP,就可以在国外搭建一台反向代理服务器。一个反向代理服务器将很多网站解析到同一 ip地址上。(通俗讲法)

 

     技术讲法,普通的Web代理服务器是不支持外部对内部网络的访问请求的。当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这种代理服务的方式称为反向代理服务 。此时的代理服务器称为反向代理服务器 , 对外表现为一个Web服务器,外部网络就可以简单把它当作一个标准的Web服务器而不需要特定的配置。不同之处在于,这个服务器没有保存任何网页的真实数 据,所有的静态网页或者CGI程序,都保存在内部的Web服务器上。因此对反向代理服务器的攻击并不会使得网页信息遭到破坏,这样就增强了Web服务器的 安全性。

 

       反向代理用于外部网络访问内部网络时使用,正向代理用于提供内部网络对外部网络的访问能力,并可以使用包过滤拒绝其他方式访问外部网络。

 

3.现在看一个实例。利用 squid 反向代理提高网站性能

      反向代理技术在提高网站访问速度,增强网站可用性、安全性方面有很好的用途。可以利用 DNS 轮询和 Squid 反向代理技术,实现了网站的负载均衡,从而提高了网站的可用性和可靠性。

 

      反向代理服务器也称为WEB加速服务器 ,它位于WEB 服务器的前端,充当WEB 服务器的内容缓存器。来降低实际的WEB服务器的负载。系统结构如下图


                                  

      现在有许多大型的门户网站如SINA 都采用squid 反向代理技术来加速网站的访问速度,可将不同的 URL 请求分发到后台不同的WEB 服务器上,同时互联网用户只能看到反向代理服务器的地址,加强了网站的访问安全。

反 向代理服务器是针对 WEB 服务器设置的,后台 WEB 服务器对互联网用户是透明的,用户只能看到反向代理服务器的地址,不清楚后台 WEB 服务器是如何组织架构的。当互联网用户请求 WEB 服务时,DNS 将请求的域名解析为反向代理服务器的 IP 地址,这样 URL 请求将被发送到反向代理服务器,由反向代理服务器负责处理用户的请求与应答、与后台 WEB 服务器交互。利用反向代理服务器减轻了后台 WEB 服务器的负载,提高了访问速度,同时避免了因用户直接与 WEB 服务器通信带来的安全隐患。

 

Squid 反向代理的实现原理

      目前有许多反向代理软件,比较有名的有 Nginx Squid 。其他还包括Socks、Apache、Jigsaw、Delegate等。

 

       Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。

 

        Squid 是由美国政府大力资助的一项研究计划,其目的为解决网络带宽不足的问题,支持HTTP,HTTPS,FTP 等多种协议,是现在 Unix 系统上使用、最多功能也最完整的一套软体。下面将重点介绍 Squid 反向代理的实现原理和在提高网站性能方面的应用。

 

      Squid反向代理服务器位于本地 WEB 服务器和 Internet 之间 , 组织架构如下图


                                

      客户端请求访问 WEB 服务时,DNS 将访问的域名解析为 Squid 反向代理服务器的 IP 地址,这样客户端的 URL 请求将被发送到反向代理服务器。如果 Squid 反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端,否则反向代理服务器将向后台的 WEB 服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答缓存在本地,供下一个请求者使用。

 

      Squid 反向代理一般只缓存可缓冲的数据(比如 html 网页和图片等),而一些 CGI 脚本程序或者 ASP、JSP 之类的动态程序默认不缓存。它根据从 WEB 服务器返回的 HTTP 头标记来缓冲静态页面。有四个最重要 HTTP 头标记:

    ●Last-Modified: 告诉反向代理页面什么时间被修改
    ●Expires: 告诉反向代理页面什么时间应该从缓冲区中删除
    ●Cache-Control: 告诉反向代理页面是否应该被缓冲
    ●Pragma: 用来包含实现特定的指令,最常用的是 Pragma:no-cache

 

转载:http://www.houkai.com/2009/09/20/reversed-proxy.html

  • 大小: 16.7 KB
  • 大小: 21.7 KB
分享到:
评论

相关推荐

    利用 squid 反向代理提高网站性能.mht

    一、安装反向代理服务器 1.下载反向代理服务器软件采用squid,下载地址: http://www.squid-cache.org/Versions/v2/2.2/squid-2.2.STABLE5-src.tar.gz 下载后存放在/usr/local/squid/src目录里,文件名是 squid-2.2...

    Go-frp是一个高性能的反向代理应用

    frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。

    Nginx反向代理服务器

    Nginx 是一个很牛的高性能Web和反向代理服务器,它具有很多非常优越的特性: 在高连接并发的情况下,Nginx是Apache服务器不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达 ...

    反向代理服务器 Nginx

    Nginx (engine x) 是一个轻量级的、高性能的、基于 Http 的、反向代理服务器,静态 web 服务器。 Nginx 最初是由俄罗斯人 Igor Sysoev(伊戈尔·赛索耶夫)使用 C 语言为俄罗斯访问量第 二的 Rambler.ru 站点开发的...

    构建HAProxy高性能反向代理架构

    HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。

    Nginx反向代理服务器快速入门视频教程课件

    Nginx是一款轻量级的Web 服务器/反向代理...本课程全面讲授Nginx的配置与使用、企业应用实践(静态代理、负债均衡、动静分离、虚拟主机等),学习本课程,可以快速地掌握Nginx这样一款高性能的web反向代理服务器。

    nginx反向代理配置及优化以及核心讲解以及高性能集群搭建

    nginx反向代理配置及优化以及核心讲解以及高性能集群搭建

    反向代理-Nginx

    Nginx 是一个很强大的高性能Web和反向代理服务器,它具有很多非常优越的特性:

    Asp.NET性能优化之反向代理缓存 varnish

    到目前为止,我们讨论了把缓存存放在ASP.NET的输出缓存中(内存和硬盘),以及浏览器缓存中,而大型站点的另一种常用做法是将缓存部署在反向代理服务器上,这类缓存我们通常称之为反向代理缓存,比如Squid和Varnish...

    维道反向代理客户端 v1.0.0.4

     维道反向代理客户端v1.0.0.4更新内容:1 改进已知所有bug2 性能提升改进3 加入大并发量的select模型4 大量代码优化,减小客户端体积 维道反向代理核心功能如下http://www.86vd.com/readme.doc

    nginx反向代理服务器工具

    Nginx 是一个很强大的高性能Web和反向代理服务器,Nginx 是一个安装非常的简单,配置文件非常简洁(还能够支持perl语法),Bugs非常少的服务器:Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个...

    ngx反向代理配置文件.zip

    Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,本配置文件为网站最全的 ngx 配置代理服务演示,清晰的代码结构,js流程化步骤解析,经典应用,企业级应用。

    nginx-0.8.33.zip一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器

    2. Nginx 是一个很牛的高性能Web和反向代理服务器, 它具有有很多非常优越的特性:  在高连接并发的情况下,Nginx是Apache服务器不错的替代品: Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一. 能够...

    业界最有价值Nginx反向代理实战博文荟萃

    Nginx是一款高性能的反向代理服务器,最大的特点是对高并发的支持和高效的负载均衡。它不但可以在FreeBSD、Linux、Windows系统下运行,还可以在Mac OS X上运行,因此Nginx深受广大用户的认可。本电子书汇集了Nginx...

    Nginx反向代理

    Nginx "engine x" 是一个高性能的 HTTP 和 反向代理 服务器 也是一个 IMAP POP3 SMTP 代理服务器

    Nginx (一) 正向代理 & 反向代理 及配置

    Nginx是一款自由的、开源的、高性能的HTTP服务器和 反向代理 服务器;同时也是一个IMAP、POP3、SMTP代理服务器;Nginx可以作为一个HTTP服务器进行网站的发布处理,另外Nginx可以作为反向代理进行负载均衡的实现。 ...

    frp高性能反向代理window版本

    frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

    Nginx正向代理 反向代理机制

    Nginx在做反向代理时,能够提供性能稳定并且灵活配置的转发功能。Nginx可以根据不同的正则匹配,采取不同的转发策略,比如图片文件结尾的走文件服务器,动态页面走web服务器。Nginx还对可以对返回结果进行异常判断,...

    FRP高性能反向代理 Windows 64位

    高性能的反向代理应用,支持 tcp, udp, http, https 协议。利用处于防火墙后的机器,对外网环境提供 http 或 https 服务。对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,对外网环境提供 tcp 和...

    Nginx API文档 Nginx是一个高性能的HTTP和反向代理web服务器

    Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0...

Global site tag (gtag.js) - Google Analytics