ats反向代理和重定向
作为反向代理缓存,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反向代理和重定向的更多相关文章
- Nginx 网站域名80 反向代理并且重定向到 tomcat 8080 网站固定页
配置 server { listen 80 default_server; listen [::]:80 default_server; server_name :127.0.0.1:8080; 反向 ...
- 记录Nginx实现内容重定向的两种方式:rewrite和反向代理
第一种:rewrite server { listen 80; server_name www.test.org; root /te ...
- Nginx反向代理中使用proxy_redirect重定向url
在使用Nginx做反向代理功能时,有时会出现重定向的url不是我们想要的url,这时候就可以使用proxy_redirect进行url重定向设置了.proxy_redirect功能比较强大,其作用是对 ...
- nginx 重定向与反向代理
server{ listen 80; server_name dianxi.test.net; #将地址重定向为新的ip地址 #rewrite "^/env ...
- 正向代理 forward proxy、反向代理 reverse proxy、透明代理 transparent proxy nginx反向代理原理和配置讲解 防止外部客户机获取内部内容服务器的重定向 URL 缓存命中
[大型网站技术实践]初级篇:借助Nginx搭建反向代理服务器 - Edison Chou - 博客园http://www.cnblogs.com/edisonchou/p/4126742.html 图 ...
- Nginx特性验证-反向代理/负载均衡/页面缓存/URL重定向
原文发表于cu:2016-08-25 参考文档: Nginx 反向代理.负载均衡.页面缓存.URL重写等:http://freeloda.blog.51cto.com/2033581/1288553 ...
- Nginx安装配置|Nginx反向代理|Nginx支持HTTPS|Nginx重定向
Nginx安装配置 可以直接看到最下面的HTTPS. Nginx安装 我的系统如下: No LSB modules are available. Distributor ID: Ubuntu Desc ...
- ats透明代理
透明代理是拦截客户端和服务器之间的连接而不可见的代理能力(比如ats). 必须要有一个网关设备,所有网络流量都通过该设备从客户端传递到Internet(或外部云).网关负责有效的将ATS拼接到该流量的 ...
- ats 转发代理
ats是一个通用代理,可配置为反向和转发代理; 转发代理可以用作基础架构中的中央工具来访问web, 它可以与缓存结合使用以降低 总体带宽使用率.转发代理充当本地网络上的客户端浏览器与这些客户端访问的所 ...
随机推荐
- Python pandas & numpy 笔记
记性不好,多记录些常用的东西,真·持续更新中::先列出一些常用的网址: 参考了的 莫烦python pandas DOC numpy DOC matplotlib 常用 习惯上我们如此导入: impo ...
- [Python] 同时安装了python2和python3时,pip命令该如何使用?
当python2和python3同时安装windows上时,它们对应的pip都叫pip.exe,所以不能够直接使用 pip install 命令来安装软件包. 而是要使用启动器py.exe来指定pip ...
- HTTP协议详解之url与会话管理
1 当我们访问一个网址的时候,这中间发生了什么 输入网址——浏览器查找域名的IP地址——浏览器给Web服务器发送一个HTTP请求——服务端处理请—— 服务端发回一个HTTP响应——浏览器渲染显示HTM ...
- rest_framework源码分析
CBV&APIView '''原生django as_view方法''' class View(object): http_method_names = ['get', 'post', 'pu ...
- shiro实战系列(十)之Subject
毫无疑问,在 Apache Shiro 中最重要的概念就是 Subject.'Subject'仅仅是一个安全术语,是指应用程序用户的特定 安全的“视图”.一个 Shiro Subject 实例代表了一 ...
- shiro实战系列(八)之安全管理器
Apache Shiro 提供安全框架界独一无二的东西:一个完整的企业级 Session 解决方案,从最简单的命令行及智能手机 应用到最大的集群企业 Web 应用程序. 这对许多应用有着很大的影响 ...
- 八,ESP8266 文件保存数据(基于Lua脚本语言)
https://www.cnblogs.com/yangfengwu/p/7533845.html 应该是LUA介绍8266的最后一篇,,,,,,下回是直接用SDK,,然后再列个12345...... ...
- DB2创建视图view
create view v_table1(col1,col2,col3...)--视图名(字段一,字段二,字段三...) as --后跟查询语句 select col1,col2,col3... fr ...
- CAN-bus接口控制实验
CAN-bus接口控制实验 2016-04-12 20:38:41来源: eefocus 关键字:CAN bus 接口控制 收藏 评论(0) 分享到 微博 QQ 微信 LinkedIn 一.实 ...
- 第43章 RTC—实时时钟
第43章 RTC—实时时钟 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fireg ...