CONFIG proxy.config.reverse_proxy.enabled INT 1CONFIG proxy.config.url_remap.remap_required INT 1CONFIG proxy.config.url_remap.pristine_host_hdr INT 1
即为 反向代理的标准配置 本机ip是10.10.110.35 开放的端口是8080
再看一下我的remap.config文件
regex_map http://(.*)/ http://www.baidu.com/
#regex_map http://(.*)/ http://10.10.110.40:8081/
在10.10.110.40上请求10.10.110.35上的ats
curl -vx 10.10.110.35:8080 www.baidu.com 可以获取结果curl -vx 10.10.110.35:8080 www.baidu.com/s?wd=linux 同上curl -vx 10.10.110.35:8080 www.ifeng.com 获取不到结果 因为regex_map把请求的域名www.ifeng.com 解析成百度的ip 从而将http包发送给百度的ip 明显得不到结果注意此http包里的host首部是www.ifeng.com
若把remap.config文件改为
#regex_map http://(.*)/ http://www.baidu.com/
regex_map http://(.*)/ http://10.10.110.40:8081/
curl -vx 10.10.110.35:8080 www.baidu.com 可以获取结果
curl -vx 10.10.110.35:8080 www.baidu.com/s?wd=linux 同上
curl -vx 10.10.110.35:8080 www.ifeng.com 同上
CONFIG proxy.config.url_remap.pristine_host_hdr INT 0C...C...GET HTTP://www.baidu.com/s?wd=linux HTTP/1.1
User-Agent: curl/7.29.0
Host: www.baidu.com
Accept: */*
Proxy-Connection: Keep-AliveC...C...GET s?/wd=linux HTTP/1.1
User-Agent: curl/7.29.0
Host: 10.10.110.40:8081
Accept: */*
Proxy-Connection: Keep-Alive明显Host被替换掉了 所以得不到结果现在设置remap为0 其它两个选项为1
CONFIG proxy.config.url_remap.remap_required INT 0不啰嗦了直接上结论:
remap为1 则必须走remap.config 即必须过滤remap.config
remap为0 只要remap.config里面有规则就走规则
对线上跑的ats而言:
ats属于最后一级 是要去源站获取资源的 所以根本不需要把请求 转发给remap后的一个具体的域名的ip
再有一个高并发时过滤规则很耗时间的 所以不开启remap 所以remap.config里也不需要些任何规则
同时得到的结论是 反向代理 是将把用户的请求进行remap转发 从而实现负载均衡
而pristine 即是否保持原来的host
反向代理就是转发 根据remap规则 并不是所有的请求都会转发
正向代理就是可以转发所有的请求 不会有任何限制
所以线上的配置 reverse 为1 pristine 为1 remap为0(remap.config中无任何规则) 也可以做缓存
当设置为正向代理时
无论remap设置是否为1 remap.config中只要有规则 请求都将根据规则过滤
若没有规则 则走源站
所以线上的配置是 三者都为0
remap是否设置为1 根据是否设置成反向代理有不同的表现:
反向代理情况下: remap设置为1 则有规则则过滤规则 若没有规则则无法请求
正向代理情况下:remap设置为1 则有规则则过滤规则 无规则则回源站
所以有两种配置方案请求源站
reverse 1 remap 0(并且配置中必须无任何规则)
reverse 0 remap 0 (并且配置中必须无任何规则)
还有一点就是 prisitine是在remap有效的时候才起作用 如果remap无效
即使pristine设置为1 这样请求
curl -v 'http://10.10.110.35:8080/www.baidu.com/s?wd=linux' 得到的host仍为www.baidu.com
参考1 https://docs.trafficserver.apache.org/en/latest/admin-guide/configuration/transparent-forward-proxying.en.html#forward-proxy
参考2 https://docs.trafficserver.apache.org/en/latest/getting-started/index.en.html
本文详细介绍了反向代理配置中的关键参数,包括反向代理启用、URL重映射及原始主机头保持等设置的作用和影响,并通过具体示例展示了不同配置下的请求处理流程。
2253

被折叠的 条评论
为什么被折叠?



