开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第8天,点击查看活动详情
谓词Host
谓词Host的作用是用于匹配请求参数中host参数的值,满足 Ant 模式时可以使用,它的使用方式如下:
? 表示匹配一个字符\
- 表示匹配 0 个或者多个字符
** 表示匹配 0 个或 多个目录
例如以下这样的配置:
地址配置的是 127.0.0.1:9000 ,如果是可以允许多个端口那么可以配置成 127.0.0.1:* 这样表示该ip下任意端口号都允许。
谓词Cookie
这个类似于与 host,就是把请求中 host 和 cookie 单独拎出来了,它可以要求请求中包含指定的 Cookie 名 和 满足特定正则要求的值。
Cookie 它是必须要有两个值、第一个是 Cookie 中包含的参数名,第二个是 Cookie 中包含的对应值,因为通常 Cookie 都是以键值对的形式表示,那么配置的时候就是配置的 key,value 的形式。
例如以下这样进行配置
同样的可以使用 * 号作为通配符,这样进行配置那么只要 Cookie 中携带 age 不管值是什么都可以正常请求访问
如果当我们把 Cookie 配置成以下这样,那么直接通过浏览器就没办法访问
这个时候我们想要正常访问,要么通过程序去访问,但是现在我们只是作为测试,那么可以通过模拟请求的工具进行访问,这里使用的是 postman \
点击 Cookies 进行设置 Cookie 的 value 作为一个三位的字符串
然后再进行模拟请求会发现是可以请求成功了,但当 cookie 的 value 不是为三位的字符串就不会访问,Gateway 不会正常的转发请求。