`

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

阅读更多

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...

    nginx正向代理与反向代理详解

    Nginx是一款高性能的HTTP和反向代理服务器,同时也是一款邮件代理服务器。本文将详细介绍Nginx如何实现正向代理和反向代理,以及这两种代理方式的应用场景。 **正向代理** 正向代理的主要作用是让内部网络中的设备...

    Web APP 如何实现类似Nginx反向代理转发功能-zhangyannan1

    Web APP 实现类似 Nginx 反向代理转发功能 Web APP 如何实现类似 Nginx 反向...使用 Web APP 实现类似 Nginx 反向代理转发功能可以提高 Web 应用程序的性能和安全性,并且可以灵活地根据需要调整反向代理转发规则。

    tomcat反向代理机制视频

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

    win2019下IIS部署反向代理及Rewrite包

    在IIS中设置反向代理,可以隐藏后端服务器的结构,提高安全性,同时通过代理进行负载均衡和缓存优化。这对于运行在非标准端口或者需要整合多个服务的应用来说非常有用。 **IIS Rewrite模块**: IIS Rewrite模块是...

    nginx 反向代理.docx

    ### Nginx 反向代理知识点详解 #### 一、代理概述 ...- 反向代理代理服务器,主要用于提高安全性和性能。 - Nginx作为一款优秀的反向代理服务器,可以通过简单的配置实现复杂的网络功能,如负载均衡和缓存等。

    Cobalt_Strike_C2隐匿多级nginx反向代理1

    在本文中,我们将讨论如何利用多级 Nginx 反向代理来隐藏 C2 通信,提高隐蔽性。 首先,我们要了解 Nginx 反向代理的基本原理。Nginx 是一款高性能的 HTTP 和反向代理服务器,可以将客户端请求转发到其他服务器,...

    详细解析用Squid实现反向代理的方法

    反向代理服务器是提高WEB服务器性能和安全性的解决方案。它位于本地WEB服务器和Internet之间,承担对原始WEB服务器的静态页面的请求,防止原始服务器过载。反向代理服务器可以降低WEB服务器的负载,提高访问速度,...

    7ghostPHP反向代理脚本

    总的来说,7ghostPHP反向代理脚本提供了一种利用PHP实现反向代理的方法,通过`.htaccess`的URL重写,`index.php`的请求处理和`_admin`的后台管理,构建了一个高效、安全的Web服务环境。这不仅能够保护内部服务器免受...

    nginx+tomcat反向代理安装配置

    `nginx`作为一款高性能的反向代理服务器和负载均衡器,常用于处理静态资源,而`tomcat`则作为Java应用服务器,主要负责运行Java Web应用。下面我们将详细探讨`nginx1.6`的安装、`tomcat7`的安装以及它们之间的反向...

    nginx实现Tomcat反向代理

    本篇文章将详细介绍如何利用Nginx实现对Tomcat的反向代理,以及如何配置HTTPS,以提升网站的安全性。 首先,理解反向代理的概念。反向代理是指客户端发送请求到Nginx服务器,Nginx再将请求转发给后端的Tomcat服务器...

    kangle反向代理linux安装包

    Kangle是一款高性能、安全且易于管理的Web服务器软件,尤其适用于搭建反向代理服务。它在Linux操作系统上运行,能够帮助用户实现高效的数据传输和负载均衡。本安装包"Kangle-3.5.8"提供了在Linux系统上部署Kangle...

    https通信nginx反向代理443端口

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

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

    3. **反向代理高级配置**:还可以设置缓存、负载均衡策略、健康检查等,以优化反向代理性能。 ### 三、Nginx的负载均衡 1. **负载均衡原理**:通过将来自客户端的请求分发到多个后端服务器,负载均衡可以防止单一...

    Nginx反向代理服务器配置基础教程

    ### Nginx反向代理服务器配置基础教程 #### 一、系统架构 在现代Web服务部署中,Nginx作为一款高性能的HTTP和反向代理Web服务器,被广泛应用于负载均衡、反向代理以及静态资源服务等多个场景。本文将详细介绍如何...

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

    Nginx凭借其高效的反向代理和负载均衡能力,成为构建高性能网站和微服务架构的关键组件。通过合理的配置和优化,可以大大提高系统的稳定性和响应速度。同时,Nginx的集群搭建和Session管理策略也是保障服务高可用性...

    squid反向代理配置例子

    正确配置Squid可以帮助提高网站性能,减少带宽消耗,并为用户提供更快的响应时间。需要注意的是,实际应用时需要根据具体网络环境和需求进行适当的调整,例如添加安全策略、缓存策略、日志记录等。在部署前,务必...

    nginx配置反向代理

    Nginx 以其轻量级、高性能的特点,常被用作静态资源的服务器或反向代理,以提高系统的处理能力和响应速度。 **1. 为什么选择Nginx作为反向代理** Nginx 的反向代理功能可以在 Apache 服务器前作为一个代理服务器,...

Global site tag (gtag.js) - Google Analytics