控制请求发送到什么环境
⚠️ 这个功能一般用于有网络隔离的场景, 一般用不到
功能类似于本地改
/etc/hosts
, 本地改/etc/hosts
有诸多限制, 如会污染机器的全局域名解析. 这个功能主要解决的问题是:
- 请求的动态路由, 通过
linkerd 1.x
代理实现, 支持丰富的路由配置, 这样就不用在本地机器上配置/etc/hosts
- 一般企业内部
生产
和测试
网段有网路隔离, 这个可以配置代理服务器穿透防火墙
代理的支持配置在
配置
上.第一个按钮是查看或新建一个配置,第二个按钮是选择一个已经存在的配置.
#
指定命名空间和对应的地址和端口号
1.
中的命名空间及请求的环境名称和代理表中的一致,默认情况下代理表
是隐藏的,点2.
中右边那个像眼睛的按钮即可显示.命名空间
中的名字任意字符串且代理表中需要有一条相同名字的命名空间.实际执行中这个名字会匹配到代理表
中本项目下有相同名字的那条代理记录.
要启用配置中的代理功能需要
2.
中的按钮状态是启用中
3.
中的代理表是个独立的全局组件,修改后需要及时点击内部的保存
.注意如果需要是相同的协议,如果用例请求中用的是https
, 代理的服务端口也需要支持https
.命名空间
字段为任意字符串,地址
字段为实际请求的域名
或IP
.
4.
中的公共消息头
会在使用该配置的所有请求里面把表里面的信息添加到 请求头 中, 这个例子中添加Host
的目的是有的服务在 Nginx 后面,Nginx 的server_name
配置需要通过Host
消息头来匹配对应的服务.
#
判断请求确实通过了代理上面的例子中,用例中请求的是
https://www.baidu.com/
代理中配的是访问github.com
.响应的消息头中会有一个Via:1.1 linkerd
的记录.