# 配置安全网关

本文档内容已过时,请查看目录中现行文档

网关配置主要需要配置路由和上游。建议优先配置上游,再配置路由。

# 配置上游

在安全网关中,上游就是流量最终流向的地方。上游配置示意图:

  • 上游服务名称:格式是 数字、小写字母和-,最多16个字符。注意,上游服务名称需要唯一,同时创建了之后无法修改。
  • 备注:对于该上游的备注,用于描述上游的作用等。
  • 协议:选择该上游流量的协议格式,默认是 HTTP,目前有 HTTP / HTTPS 可选。
  • 类型:可以选择 域名 或者 IP。注意如果是域名,在网关安装的宿主机上需要能够通过DNS解析。
  • 域名/IP:输入配置的上游地址。
  • 端口:输入配置的上游端口。

提示

一个上游可以添加多个 域名/IP 和端口。

# 配置路由

在安全网关中,路由的作用是把流量根据配置的规则转向指定的上游。路由配置示意图:

  • 路由名称:格式是 数字、小写字母和-,最多16个字符。注意,路由名称需要唯一,同时创建了之后无法修改。
  • 协议:暂时只支持HTTPS
  • 上游服务:选择已经配置好的上游或者新建一个上游服务。
  • 服务路径:按前缀匹配的路径。比如 /api。注意,不支持通配符(如*)。另外,配置顺序是有关系的,例如:
    • 先配置了 /api 的路由,再配置 /api-xxx 的路由,如果一个请求前缀是 /api-xxx 进来,也会被 /api 的路由所匹配,而 /api-xxx 的路由将不会被匹配。
  • 路径改写(可选):目前只支持静态改写
    • 静态改写,将匹配的服务路径改写为指定的路径,再传递给上游。例如一个请求是 /api 进来,可以改写成 /interface 传递给上游。
  • 请求限频(可选):用于配置该路由的QPS,默认是1000,范围是1 - 10000。
  • 准入域名(可选):根据此项匹配请求头中的 host 值。如果配置了这个值,该路由仅会接受 Request Header 中 host 符合要求的请求。可以匹配多个域名,同时也可以配置端口号。
    • 例如: xxx.com:443

# 准入域名额外注意点

请求的匹配规则为 先匹配准入域名匹配路由前缀。准入域名允许包含通配符,支持后缀和前缀形式。 对准入域名的匹配遵循以下规则:

  1. 匹配顺序为:
    1. 准确域名,例:www.foo.com
    2. 后缀通配符,例:*.foo.com,*-bar.com
    3. 前缀通配符,例:foo.*foo-*
  2. 能匹配多个后缀/前缀通配符域名的情况下,优先匹配最长的准入域名。例:www.foo.bar.com 将匹配 *.foo.bar.com 而不是 *.bar.com
  3. 通配符将与空字符串不匹配。例:*bar.com 将匹配 baz-bar.com 而不匹配 bar.com

注意

不开启自定义准入域名的情况下,路由的准入域名为*,在域名匹配优先级中排名 最低

当部分路由开启准入域名,从其所填的准入域名访问的请求 将不会匹配 未开启自定义准入域名的路由。

例如:

  • 路由A匹配路径 /a,准入域名为:www.foo.com
  • 路由B匹配路径 /b,不开启准入域名,即准入域名为*

则访问 www.foo.com/b 不会匹配到路由B,而是匹配到路由A,因为路由A的准入域名优先级更高。

# 发布配置

上述配置配置完成之后,网关配置并不会立即生效。而是会变为 「新增,待发布」的状态。

此时要做的事情就是把刚刚新增的配置发布到线上,让网关实例能够使用这些规则。点击页面左侧的「发布配置」按钮。发布配置成功后,配置状态将会变为「已生效」。

# 修改或者删除配置

如果在新增配置之后,我们需要修改或者删除配置,只需要在配置列表中点击「修改」或者「删除」,就能出现对应的功能弹窗,按照需要做的修改或者删除对应地处理即可。

# 查看线上配置

由于本地修改或者新增之后,配置列表显示的是当前修改的配置,而不是线上配置列表。如果我们需要查看线上的配置信息,可以点击右上角「查看线上配置版本」:

从而可以显示一个只读的配置列表,可以点击「详情」查看配置,也可以点击右上角的「返回」,返回之前的页面。