Donut 安全网关新功能:一键接入重塑产品接入形态

2024-07-16
来源:网络整理

1. 写在最前面

上周,安全网关上线了全新的一键接入功能,如果你之前使用过安全网关,再体验一下这个新功能,你会发现它严格重塑了整个产品的接入模型。

去年我写了一篇关于安全网关的攻略文章,讲了安全网关的作用和特点,这里再重申一下:

安全网关提供了安全的访问链路,从调用端(小程序、公众号H5、APP、WEB)发起的请求直接进入微信环境接入层,微信接入层通过中转域名将请求转发到后端服务网络的“网关实例”,在“网关实例”中通过路由配置将请求转发到开发者自己的上游业务服务,完成整个请求的处理。

上图是去年网关的架构图,初期形式下我们要自己部署一个网关实例,这里面包括上游服务的配置,路由转发等。

2023年中旬上线“超直连模式”,从安全网关角度,业务端的网关实例可以由安全网关自己接管,无需开发者介入安装。直连模式下,开发者只需要配置源站域名或IP地址,微信会自动分配对应的微信接入域名。

例如源站域名分配有访问域名,只需要访问访问域名就可以直接通过安全网关到达源站业务端。

但需要在前端应用(小程序、WEB、APP)中配置访问域名才可以正常访问,整个架构图中从调用端到业务后端,每个环节都需要改造后才可以正常访问安全网关。

即使是简单连接模式,开发者也需要对调用端进行修改,那么如何避免对调用端的修改呢?

这给我们带来了一个史诗般的新功能:一键访问。

2.功能介绍

在微信小程序中,如果要向外界发送请求,必须使用wx.,它是微信小程序对于网络请求的封装。

封装好之后可以做的事情非常多,比如微信小程序提供的请求缓存管理器就是封装下的功能之一。另外wx.还会拉取开发者的服务器配置,判断经过它的请求域名是否符合要求……

使用安全网关时,直接将wx.中需要安全访问的源站域名请求进行转发,让其直接走网关链接。其余的仍然正常走源站链接。

一旦支持该能力,开发者接入安全网关的所有修改工作都将消失,开发者只需要进行一系列的配置,就可以在小程序端完成安全链路的修改。

下面详细介绍一下使用细节,请注意,之前使用安全网关原有形式的开发者需要创建新的空间才有这个能力。

3.使用流程

1、您需要使用微信扫描二维码登录安全网关控制台,同意安全网关服务协议,即可完成激活。

2.若账户未创建空间,将自动引导您开通一个空间;根据自身情况选择个人或者企业实体,并给空间命名,一般建议一个空间对应一个业务集群。

3.在空间中创建安全网关,若没有网关则直接进入一键访问页面

在一键访问这里选择小程序,会拉取该空间授权的小程序,如果空间内没有小程序授权,可以按照提示添加新的授权,需要小程序管理员(注意不是开发者或运营者)扫码确认。

中山一键接入微信小程序开发_中山一键接入微信小程序开发_中山一键接入微信小程序开发

4、选择小程序后,点击“开始连接”按钮,小程序所有服务器端配置的域名都会默认直接转发,并且这个只在小程序试用版本生效,不会影响上线版本。

5.你可以在控制台中随时更改链接访问覆盖范围,包括小程序范围、域名范围。

这里主要讲解一下访问域名,访问域名其实对应的就是一个网关域名(直观体现在前面的安全网关产品功能上),在后续多终端的接入上会用到这个域名。小程序的一键接入可以直接忽略。你可以把它看成是一个链接方案,这个方案下可以有多个小程序,或者一个小程序不同版本的域名配置不一样。(比如我希望开发版A域名用安全链接,体验版B域名用安全链接)

6、点击访问域名中的修改按钮,可以修改访问情况,具体如下

接下来我们来介绍一下各个配置项的作用:

7.可以添加新的访问域名,选择不同的小程序。(需要注意的是,一个小程序只能绑定一个网关的一个访问域名)

8、在监控视图中,您可以查看网关下小程序的链路调用情况,通过观察请求成功率来验证安全链路的兼容性和稳定性,并结合自己的测试判断是否应该继续接入。

如果发现一键接入后,仍然持续出现异常请求,可以直接一键断开连接。

4. 常见情况

1、一键接入后,小程序是否需要修改发布?

2、如何判断一条路由是否经过网关链路?

x-id:请求ID,

x-wx-call-id:链接请求ID,与前端响应一致,用于打通前后端日志,也是反馈问题的首选。

x-wx--tag:访问域名标签,可以对不同访问域名转发的流量进行判断,并进行区别对待

x-wx-:请求客户端,如微信客户端、开发者工具

x-wx-:请求小程序,标记请求的小程序

x---rq--ms:网关参数,响应超时时间,一般为15秒

3.使用过程中出现问题或者不想再使用安全链接怎么办?

4、为什么配置好接入后,对应版本的小程序访问还是通过原生链接,而不是通过安全链接?

5.为什么微信开发者工具接入配置后,没有使用安全链接?

分享