作为反向代理缓存,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. 【转】Java学习---内存泄露与溢出的区别

    Java内存泄露与溢出的区别 Java内存泄漏就是没有及时清理内存垃圾,导致系统无法再给你提供内存资源(内存资源耗尽): 而Java内存溢出就是你要求分配的内存超出了系统能给你的,系统不能满足需求,于 ...

  2. NoSQL数据库的认识

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

  3. 另开一篇 https

    https 流程 1.加密传输:对称加密传输信息 2.身份认证:非对称加密.通过证书来保障客户端给服务器的密钥唯一性. 因为中间层要是伪装公钥和证书,但是又无法解密原有的发送的数据,那么发给服务器的数 ...

  4. IE9 添加事件DOMContentLoaded,方法addEventListener

    IE9 新添加 事件DOMContentLoaded,方法addEventListener

  5. String真的是不可变的吗?

    你可能问一个人String是可变的吗?想必他们都会一口同生的说String是不可变的,因为String是final修饰的,而且它底层的是final修饰的char[]数组. 可以看到String源码: ...

  6. 5.Solr4.10.3中配置中文分词器

    转载请出自出处:http://www.cnblogs.com/hd3013779515/ 1.下载IK Analyzer 2012FF_hf1.zip并上传到/home/test 2.按照如下命令安装 ...

  7. 3.Solr4.10.3目录结构

    转载请出自出处:http://www.cnblogs.com/hd3013779515/ 1.整个目录结构 (1)bin:是脚本的启动目录 (2)contrib:第三方包存放的目录 (3)dist:编 ...

  8. Android Studio运行找不到Genymotion虚拟机

    如图: 在Genymotion->Settings下ADB选项卡下选择使用SDK工具: 完成后试试吧

  9. 洛谷 P1144 最短路计数

    传送门:https://www.luogu.org/problemnew/show/P1144 这虽然是一道普及+的题,然而我发现我现在还没做过,这也就直接导致我今天模拟T2只杠了个暴力分…… 那这道 ...

  10. Rsyslog配置文件详解(转)

    最近在搭建日志审计服务器,使用了rsyslog,发现这篇文章很有用,收藏一下. 原文链接:http://my.oschina.net/0757/blog/198329 具体内容: 非常详细的rsysl ...