ats是一个通用代理,可配置为反向和转发代理;

转发代理可以用作基础架构中的中央工具来访问web, 它可以与缓存结合使用以降低
总体带宽使用率。转发代理充当本地网络上的客户端浏览器与这些客户端访问的所有(或所有
,由您的配置自行决定)网站之间的网守。转发代理将接受HTTP请求,执行您建立的任何过滤
或请求更改规则,并在适当时将请求转发到目标网站。响应将通过您的代理返回,可以选择
缓存和/或修改,然后返回到原始客户端。

转发代理可以使用两种模式:
Forward Proxy 转发代理
必须明确配置每个客户端才能使用转发代理。客户端浏览器将意识到他们正在使用代理,
并将适当地形成它们的HTTP请求。这会导致初始HTTP命令使用包含目标主机名的完全限定
URI发出来。

Transparent Proxy 透明代理
透明代理的使用通常与网络路由规则一起完成,网络路由规则通过您的代理重定向所有
出站HTTP流量. 客户端将表现并形成它们之间的HTTP 请求,就像它们直接联系远程站点一样,
并且不会意识到他们自己和远程服务器之间存在代理服务器。HTTP请求将按照其通常的形式
生成,仅包含命令中的路径和单独的主机请求标头。
GET /index?id=123 HTTP/1.1
Host: example.com

ats可以配置为同时作为前向和透明代理运行。

Proxy Configuration 代理配置
在ats中配置基本转发代理操作非常简单。

1. 允许ats 通过修改records.config中的proxy.config.url_remap.remap_required
CONFIG proxy.config.url_remap.remap_required INT 0

2. 可选项.如果ats将严格作为转发代理运行,您将需要通过修改records.config中的
proxy.config.reverse_proxy.enabled来禁用反向代理支持:
CONFIG proxy.config.reverse_proxy.enabled INT 0

可以还考虑其中的一些配置选项:
a> 设置proxy.config.http.no_dns_just_forward_to_parent确定将使用哪个主机
进行DSN解析;

b>如果使用代理缓存,则可以使用proxy.config.http.forward.proxy_auth_to_parent启用
或禁用代理身份验证。

c>客户端请求标头X-Forwarded-For 可以使用
proxy.config.http.insert_squid_x_forwarded_for切换;

d>可以使用proxy.config.http.insert_forwarded配置客户端请求标头Forwarded.

客户端配置
如果以透明模式运行代理,则客户端不需要特殊的代理配置.

如果在显示代理模式下运行,而网络上没有自动路由规则来引导所有出站流量通过
代理,则需要将客户端浏览器定向到代理。可以通过两种不同的方式实现:

可以将客户端配置为使用ats主机上的默认8080端口作为代理。这将导致来自该客户端
浏览器的所有请求都通过配置的单个转发代理发出。

安全考虑
值得注意的是,一旦将ats配置为转发代理,它将不加区别的接受来自任何人的代理请求,
如果可以从internet访问,则表示已配置开放代理。

这通常是不可取的,因为它允许任何人潜在的使用您的网络作为它们选择的网站流量来
源。为避免这种情况,必须确保代理服务器只能从您的专用网络中访问,或者由防火墙规则保护
,该规则仅允许您希望访问代理的用户。

ats 转发代理的更多相关文章

  1. ats反向代理和重定向

    作为反向代理缓存,ats代表源服务器提供的请求. ats的配置方式使客户端看起来像普通的原始服务器. 了解反向代理缓存通过转发代理缓存, ats代表请求内容的客户端队里对源服务器的web请求.反向代理 ...

  2. ssh转发代理:ssh-agent用法详解

    SSH系列文章: SSH基础:SSH和SSH服务 SSH转发代理:ssh-agent用法详解 SSH隧道:端口转发功能详解 使用ssh-agent之前 使用ssh公钥认证的方式可以免去ssh客户端(如 ...

  3. 使用 ssh -R 建立反向/远程TCP端口转发代理

    转自:https://yq.aliyun.com/articles/8469 ssh是一个非常棒的工具, 不但能建立动态转发, 例如chrome的Switchy插件用到的就是这个技术.http://b ...

  4. ats透明代理

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

  5. ats显示代理缓存

    如果要将ats用作显示代理缓存,则必须配置客户端软件(即浏览器)以将请求直接发送到ats. 如果没有将ats配置为使用透明度选项(通过交换机或路由器在路由到源服务器的情况下拦截客户端请求并重新路由到a ...

  6. NGINX转发代理情况下,获取客户单真实IP

    编译时加上http_realip_module 模块 realip模块生效的前提是:直接连接nginx的ip是在set_real_ip_from中指定的. 原机配置: set_real_ip_from ...

  7. 使用DANT做FTP的转发代理

    FTP不能直接使用nginx进行转发,想了一些办法,最后决定使用iptalbes做DNAT,相关于把这个机器做一台防火墙,做一个NAT 1.启用ip_forward vim /etc/sysctl.c ...

  8. Nodejs 请求转发代理

    var sendPromise = function (res, callback) { var options = { hostname: settings.Ip, port: settings.P ...

  9. IIS充当代理转发请求到Kestrel

    接着上篇博文为ASP.NetCore程序启用SSL的code,这篇将介绍如何用IIS充当反向代理的角色转发请求到Kestrel服务器 与ASP.NET不同,ASP.netCore使用的是自托管web服 ...

随机推荐

  1. virtualbox+vagrant学习-2(command cli)-11-vagrant PowerShell命令

    PowerShell 格式: vagrant powershell [-- extra powershell args] 这将在主机上打开PowerShell提示符,进入正在运行的vagrant机器. ...

  2. 集合之HashMap

    HashMap也是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在.在HashMap中,key-value总是会当做一个整体来处理,系统会根据 ...

  3. 多线程之CountDownLatch、CyclicBarrier和Semaphore

    Java并发编程:CountDownLatch.CyclicBarrier和Semaphore 在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch ...

  4. vs未能正确加载XXX包,编译时停止工作问题

    出现这个问题的原因可能是配置更改或安装了另一个扩展,幸好之前用的不多,重新进行用户配置代价也不高,打开Visual Studio Tools:  选择VS2013 开发人员命令提示:  输入deven ...

  5. 2.编写实现:有一个三角形类Triangle,成员变量有底边x和另一条边y,和两边的夹角a(0<a<180),a为静态成员,成员方法有两个:求面积s(无参数)和修改角度(参数为角度)。 编写实现: 构造函数为 Triangle(int xx,int yy,int aa) 参数分别为x,y,a赋值 在main方法中构造两个对象,求出其面积,然后使用修改角度的方法,修改两边的夹角,再求出面积值。(提示

    求高的方法 h=y*Math.sin(a) 按题目要求,需要我们做的分别是:1.改角度2.显示角度3.求面积并显示 代码用到:1.静态成员变量以修改角度2.数学函数 以下具体代码具体分析 import ...

  6. 微信公众号发送消息模板(java)

    这段时间接触公众号开发,写下向用户发送消息模板的接口调用 先上接口代码 public static JSONObject sendModelMessage(ServletContext context ...

  7. python3爬虫-通过selenium登陆拉钩,爬取职位信息

    from selenium import webdriver from selenium.common.exceptions import NoSuchElementException from se ...

  8. SEO优化上首页之搜索引擎蜘蛛Spider原理

    Spider,蜘蛛,又名网页网络爬虫.网络机器人,是按照一定策略不断抓取互联网网页的特定程序.蜘蛛抓回的页面创建索引后参与排名,等待用户检索.为了网站优化自然排名上首页,精灵儿工作室下面详细剖析Spi ...

  9. lua虚拟机概述

    何为虚拟机 用于模拟计算机运行的程序.是个中间层,它处于脚本语言和硬件之间的一个程序.每一门脚本语言都会有自己定义的opcode("操作码"),可以理解为这门程序自己定义的&quo ...

  10. 20155229 2016-2017-2 《Java程序设计》第九周学习总结

    20155229 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 JDBC(Java DataBaseConnectivity)即java数据库连接 ...