配置#
入口配置#
您在入口配置里可以配置一些规则,来决定哪些请求需要通过Nohost转发。
例如:可以设置一些页面不注入whistle小圆点,一些请求不转发到Nohost服务器。
具体请求链路如下所示:

入口配置的规则有三种(#xxx表示注释):
pattern规则:匹配顺序是从上到下,每个请求只会匹配其中一个,证书里面的域名优先级默认最低,可以通过 1) 设置优先级。
如:
如果想通过代码决定是否将请求转到 Nohost 账号,可以请求头里面注入
x-whistle-nohost-policy: none或x-whistle-nohost-policy: 1,后者如果是html页面会注入小圆点
账号规则#
每个接入Nohost的团队都可以设置账号规则,其主要作用于你团队里的成员,规则分为默认规则和专属规则。
默认规则#
账号的默认规则可以对所有用户生效,就是account进程里面定义的规则。
默认规则相当于每个用户本地whistle的default规则。
注意:它的优先级是低于Nohost插件里规则。例如:Nohost插件里面如果设置某个cgi的返回码是500,账号规则里是无法改变的。下图所示的就是Nohost插件的规则:

专属规则#
账号的专属规则只有配置一些特殊规则时 才会生效。
例如:配置 cgi-a b,这种key value的形式
规则模板#
规则模板将whistle的rules里面的信息通过模板(@形式)传递给“规则模板”使用,类似于类似es6的模板字符串。
例如:本地/服务器whistle的rules里面@name,就会传递name到规则模板,然后${name}就可以拿到name了

模板数据#
模板数据是一个JSON对象的格式,主要有以下三种用途:
- 作为“规则模板”的数据来源,例如:
- 账号规则里面可以通过$name,同样可以获取到name值
- 替换功能,例如: ip1: ip2,表示用ip2全局替换ip1。