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访问,则表示已配置开放代理。

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

最新文章

  1. C#实现微信开发前奏
  2. 用 QGIS 画矢量交通路线图
  3. 006 复杂的数据类型&函数(方法)
  4. OC NSNumber NSValue
  5. BEA-WEBLOGIC ---http://www.beansoft.biz/weblogic/docs92/index.html
  6. leetcode@ [322] Coin Change (Dynamic Programming)
  7. 10_控制线程_线程让步yield
  8. 实战 SSH 端口转发
  9. android开发之gridlayout使用入门
  10. php 图片上传预览(转)
  11. (八)boost库之异常处理
  12. 一个关于Linux Bridge配置的吐嘈
  13. Simditor图片上传
  14. eclipse设置JSP的默认编码
  15. POJ 3264 Balanced Lineup【线段树区间查询求最大值和最小值】
  16. C++对C语言register的增强
  17. Android 5.0 SEAndroid下如何获得对一个内核节点的访问权限
  18. Swift - 修改导航栏“返回”按钮文字和图标 /手势冲突解决/响应范围
  19. SpringCloud注册中心(Eureka)
  20. vs2017 编译vue 错误 TS2307 Build:找不到模块“webpack”。

热门文章

  1. JavaScript-2.内置对象---简单脚本之弹出对话框显示当前时间 ---ShinePans
  2. 整合Yolov3到游戏引擎
  3. BZOJ1189:[HNOI2007]紧急疏散EVACUATE(最大流,枚举)
  4. 【vue】跟着老马学习vue-数据双向绑定
  5. java中的对象和类
  6. $2018/8/15 = Day \ \ 1$杂题整理
  7. 使用Android的OpenGL编写视频播放器
  8. Flask租房项目总结
  9. MongoDB的聚合操作以及与Python的交互
  10. PostMan测试接口,绕过登录验证