作为反向代理缓存,ats代表源服务器提供的请求。 ats的配置方式使客户端看起来像普通的原始服务器。

了解反向代理缓存
通过转发代理缓存, ats代表请求内容的客户端队里对源服务器的web请求.反向代理缓存(也成服务器加速)不同在于ats 代表存储内容的源服务器充当代理缓存。ats配置为向外作为客户端尝试连接的源服务器。在典型情况下,源服务器的主机名解析为ats服务器,流量服务器直接面向客户端提供服务请求,必要时从真实源服务器获取内容。

反向代理解决方案
有许多中方式将ats配置为反向代理。
1. 降低原始服务器的负载;
2. 在地里位置较远的地区提供有效的服务;
3. 为包含敏感信息的源服务器提供安全性;

HTTP反向代理
通过将 ats服务器用DNS解析为源服务器地址来实现。

处理源服务器重定向响应
源服务器通常会将重定向响应发送回浏览器,将它们重定向到不同的页面。 例如,如果原始
服务器过载,则可能会将浏览器重定向到负载较小的服务器。 当网页移动到不同位置时,源服务
器也会重定向。 当Traffic Server配置为反向代理时,它必须重新发送来自源服务器的重定向,
以便将浏览器重定向到Traffic Server而不是其他原始服务器。

要重新发送重定向,Traffic Server使用反向映射规则。 除非您启用了
proxy.config.url_remap.pristine_host_hdr (默认设置)
否则通常应为每条映射规则设置反向映射规则

使用HTTP请求的映射规则
ats对http反向代理使用了两种类型的映射规则:

map rule
映射规则将客户端请求中的URL转换为内容所在的URL.当ats处于反向代理模式并收到http客户端请求时, 它首先从相关联URL 和header头构造完整的请求URL. 然后, ats 通过将完整请求URL与其在remap.config的目标URL列表进行
比较来查找匹配项。要使请求URL与目标URL匹配,必须满足以下条件:
1. 两个URL的方案必须相同;
2. 两个URL中的主机必须相同。如果请求URL中包含非限定主机名,则它
永远不会与具有完全限定主机名的目标URL匹配;
3. 两个URL中的端口必须相同。如果URL中未指定端口,则使用URL方案的
默认端口。
4. 目标URL的路径部分必须与请求URL路径的前缀匹配;

如果ats找到匹配项,则会将请求URL转换为映射规则中列出的替换URL:
它设置请求URL的主机和路径以匹配替换URL.
如果URL包含路径前缀,则ats将删除与目标路径匹配的路径的前缀,并将其替换为替换URL
中的路径。如果两个映射与请求URL匹配,则ats 将应用remap.config中列出的第一个映射。

reverse-map rule
反向映射规则将源服务器重定向影响中的URL转换为指向ats, 以便将客户端重定向到ats,
而不是直接访问源服务器。

例如, 如果www.molasses.com上的原始服务器上有目录/pub, 并且客户端向/pub发送请求
到该源服务器,则源服务器可能会通过发送Header Location来回复重定向:
http://realhost.com/pub 让客户端知道它所请求的目录,而不是文档(重定向的常见用途是规范
化URL, 以便客户端可以正确地为文档添加书签)

ats使用reverse_map规则来阻止客户(从源服务器接收重定向) 绕过ats 并直接访问源服务器
。在许多情况下,客户端会碰壁,因为realhost.com并不解析给客户端( 例如,因为它在防火墙
屏蔽的端口上运行,或者因为它在不可路由的LAN IP上运行).

映射和反向映射规则都包含目标(原始)URL和替换(目标)URL。在映射规则中,目标URL指向
ats, 替换URL指定原始内容的位置。在反向映射规则中,目标URL指定原始内容的位置,替换
URL指向ats. ats在位于ats配置目录中的remap.config中存储映射规则。

修改remap.config
traffic_ctl config reload

启用HTTP反向代理
要启用http 反向代理,需要设置:
1. CONFIG proxy.config.reverse_proxy.enabled INT 1
2. traffic_ctl config reload

设置可选的HTTP反向代理选项
ats在records.config中提供了几个反向代理配置选项,
1. 配置ats 以在转换期间在请求中保留客户端主机头信息.
proxy.config.url_remap.pristine_host_hdr;

2. 将ats配置为仅向映射规则中列出的源服务器提供请求。因此,不会提供对映射规则中未列出
的原始服务器的请求。
proxy.config.url_remap.remap_required

3. 指定备用URL, 来自较旧客户端的传入请求(例如不提供主机头的传入请求)将定向到该URL.
proxy.config.header.parse.no_host_url_redirect.

重定向HTTP请求
可以将ats配置为重定向http请求,而无需联系任何源服务器。例如,
将http://www.urltraseek.com所有请求重定向到http://www.server1.com/products/portal/search/
,那么www.urltraseek.com的所有http请求都会直接转到
www.server1.com/eproducts/portal/search.

可以将ats配置为执行永久或临时重定向。永久重定向通知浏览器URL(通过返回301状态码),以便浏览器可以更新书签。临时重定向仅向浏览器通知当前请求的URL更改(返回307状态码)

eg.永久重定向www.server1.com的所有http请求到www.server2.com
redirect http://www.server1.com http://www.server2.com

ats反向代理和重定向的更多相关文章

  1. Nginx 网站域名80 反向代理并且重定向到 tomcat 8080 网站固定页

    配置 server { listen 80 default_server; listen [::]:80 default_server; server_name :127.0.0.1:8080; 反向 ...

  2. 记录Nginx实现内容重定向的两种方式:rewrite和反向代理

    第一种:rewrite server { listen                80; server_name   www.test.org; root                  /te ...

  3. Nginx反向代理中使用proxy_redirect重定向url

    在使用Nginx做反向代理功能时,有时会出现重定向的url不是我们想要的url,这时候就可以使用proxy_redirect进行url重定向设置了.proxy_redirect功能比较强大,其作用是对 ...

  4. nginx 重定向与反向代理

    server{    listen       80;    server_name  dianxi.test.net; #将地址重定向为新的ip地址    #rewrite  "^/env ...

  5. 正向代理 forward proxy、反向代理 reverse proxy、透明代理 transparent proxy nginx反向代理原理和配置讲解 防止外部客户机获取内部内容服务器的重定向 URL 缓存命中

    [大型网站技术实践]初级篇:借助Nginx搭建反向代理服务器 - Edison Chou - 博客园http://www.cnblogs.com/edisonchou/p/4126742.html 图 ...

  6. Nginx特性验证-反向代理/负载均衡/页面缓存/URL重定向

    原文发表于cu:2016-08-25 参考文档: Nginx 反向代理.负载均衡.页面缓存.URL重写等:http://freeloda.blog.51cto.com/2033581/1288553 ...

  7. Nginx安装配置|Nginx反向代理|Nginx支持HTTPS|Nginx重定向

    Nginx安装配置 可以直接看到最下面的HTTPS. Nginx安装 我的系统如下: No LSB modules are available. Distributor ID: Ubuntu Desc ...

  8. ats透明代理

    透明代理是拦截客户端和服务器之间的连接而不可见的代理能力(比如ats). 必须要有一个网关设备,所有网络流量都通过该设备从客户端传递到Internet(或外部云).网关负责有效的将ATS拼接到该流量的 ...

  9. ats 转发代理

    ats是一个通用代理,可配置为反向和转发代理; 转发代理可以用作基础架构中的中央工具来访问web, 它可以与缓存结合使用以降低 总体带宽使用率.转发代理充当本地网络上的客户端浏览器与这些客户端访问的所 ...

随机推荐

  1. Security Software Engineer

    Security Software Engineer Are you excited to be part of the VR revolution and work on cutting edge ...

  2. MySQL一个延迟案例

    突然接到报警显示MySQL主从之间延迟过大,随后尽快到集群上面看看,进行排查. 首先我们查看延迟是由什么造成的,排查一遍过后发现不是网卡和从库机器的负载,那就要从其他地方来排除了 查看binlog日志 ...

  3. NoSQL数据库的认识

    SQL数据库和NoSQL数据库介绍 什么是SQL数据库? 关系型数据库是依据关系模型来创建的数据库.而所谓的关系模型就是“一对一.一对多.多对多”等关系模型,这是一种二维表格模型,因此一个关系型数据库 ...

  4. 1)HDFS分布式文件系统 2)HDFS核心设计 3 )HDFS体系结构

    一.HDFS简介 1.HDFS:Hadoop distributed file system 一个分布式文件系统 基于流数据模式访问和处理超大文件的需要而开发 适合应用在大规模数据集上 2. 优点 处 ...

  5. java使用elasticsearch分组进行聚合查询(group by)-项目中实际应用

    java连接elasticsearch 进行聚合查询进行相应操作 一:对单个字段进行分组求和 1.表结构图片: 根据任务id分组,分别统计出每个任务id下有多少个文字标题 .SQL:select id ...

  6. Angular2学习笔记(1)——Hello World

    1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之前主要使用的是jQuery,由于 ...

  7. iosclient发现_世界杯送流量活动项目总结

       世界杯如火如荼的进行.视频站点相似于门户站点.须要高速依据外部环境更新内容. 产品经理须要策划活动,并安排实施.这个活动就是在这样背景下产生的,爱奇艺与运营商合作,实现双赢.爱奇艺能够通过运营商 ...

  8. easyui combobox 带 checkbox 亲自验证

    $('#cc').combobox({                url:'combobox_data1.json',                method:'get',           ...

  9. [JLOI2013]删除物品

    嘟嘟嘟 只要每一次将优先级最高的上面的物品移走,就一定能保证是最优解. 所以我们只要想办法简化这个模拟移物品的过程,看完了题解后,发现可以这么想,我们可以把两个栈头碰头的挨在一起,然后设一个指针代表两 ...

  10. FastJson遇见的问题或项目实战中优化的问题,看源码都可以解决

    1:感觉见鬼了一般存储JSONObject中的字段竟然不见了? JSONObject object=new JSONObject(); Map fields = new HashMap(); fiel ...