反向代理(Reverse Proxy)及 IIS 7 应用请求路由模块

反向代理(Reverse Proxy)方式是指以代理服务器来接受外部的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给外部的请求连接的客户端,此时代理服务器对外就表现为一个服务器。

反向代理服务器位于本地WEB服务器和外部网络之间, 如下所示:

当用户浏览器发出一个HTTP请求时,通过域名解析将请求定向到反向代理服务器(如果要实现多个WEB 服务器的反向代理,需要将多个WEB服务器的域名都指向反向代理服务器)。由反向代理服务器处理器请求。反向代理一般只缓存可缓冲的数据(比如html网 页和图片等),而一些CGI脚本程序或者ASP.NET/JSP之类的程序不缓存。它根据从WEB服务器返回的HTTP头标记来缓冲静态页面。有四个最重要HTTP头标 记:

  • Last-Modified: 告诉反向代理页面什么时间被修改
  • Expires: 告诉反向代理页面什么时间应该从缓冲区中删除
  • Cache-Control: 告诉反向代理页面是否应该被缓冲
  • Pragma: 告诉反向代理页面是否应该被缓冲.

Application Request Routing(ARR)是一个基于代理的路由模块,可以根据HTTP头、服务器变量和负载均衡算法将HTTP请求转发到内容服务器上。它可以增强应用程序的效率和可扩展性,更好地利用内容服务器资源,并能够简化应用程序的部署,包括pilot management和A/B测试。ARR还有一种特性叫做shared hoster,用于修改如何共享目前提供的共享主机,为客户增加额外的服务。IIS 7.0 的应用请求路由模块(Application Request Routing (ARR) module),我们可以轻松实现反向代理.如何使用可参看下列几篇文章:

如何利用 IIS7 的 ARR 模組實做 Reverse Proxy 機制

在IIS7中应用Application Request Routing配置反向代理

web developer tips (36):使用IIS7.0 应用请求路由模块管理网站的beta版程序

用 IIS 7、ARR 與 Velocity 建设高性能的大型网站

IIS 6可以使用google code上一个项目:A C# reverse proxy for IIS

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ml

linux学习笔记

一些比较重要的热键:             Ctrl + D   相当于注销字母: quit;             • cd:变换目录          ...

3538
来自专栏跟着阿笨一起玩NET

解决IIS 不能下载.exe.config文件的方法

Config文件是web的配置文件,默认是不允许下载的,就算在MIME中配置“application/octet-stream”,也是下载不了。当然出于安全考虑...

5642
来自专栏Android干货

Android项目实战(二十四):项目包成jar文件,并且将工程中引用的jar一起打入新的jar文件中

834
来自专栏晓晨的专栏

Jenkins 集群搭建

Jenkins是当下比较流行的一款功能强大的持续集成工具,它支持搭建集群,来提高多项目的构建速度,模式为主从模式,master会将任务分配到各个从节点进行并发构...

2885
来自专栏向治洪

解决Setting property 'source' to 'org.eclipse.jst.jee.server的问题

对于这个问题,我相信我的方法已经能帮90%的人解决了! 当你用Eclipse运行web项目的时候,你就会看到控制台出现: WARNING: [SetPrope...

2387
来自专栏向治洪

npm管理工具介绍

概述 Npm是NodeJS包管理工具,在最新版本中Nodejs集成了npm,可以通过输入 "npm -v" 来测试是否成功安装。如果你安装的是旧版本的 npm,...

2095
来自专栏程序员同行者

ssh升级

2331
来自专栏前端儿

在找一份相对完整的Webpack项目配置指南么?这里有

Webpack已升级为v4版本,优化之后性能提升好几倍,请移步这个 webpack4项目配置Demo,以及 这篇升级优化点

7811
来自专栏大数据-Hadoop、Spark

Kafka+Logstash整合

1.启动ZK ./zkServer.sh start 2.daemon形式启动Kafka kafka-server-start.sh -daemon $KA...

4106
来自专栏BIT泽清

React Native应用部署/马甲包热更新-CodePush最新集成总结(2018年最新)

React Native支持大家用React Native技术开发APP,并打包生成一个APP。在动态更新方面React Native只是提供了动态更新的基础,...

3610

扫码关注云+社区

领取腾讯云代金券