插件管理
CSE应用网关支持Lua插件,支撑Codehub自定义实现多地域部署请求转发、请求流控、按URL类型分发请求场景。关于网关提供的Lua API详细信息,请参见Lua。
创建Lua插件
- 登录微服务引擎控制台。
- 在左侧导航栏选择“应用网关 ”。
- 单击待操作的实例名称。
- 在左侧导航栏选择“插件管理”。
- 单击“创建Lua插件”,在弹出框中输入如下参数。
表1 创建Lua插件参数 参数名称
描述
插件名称
自定义输入插件名称。
插件描述
自定义输入插件描述信息。
插件脚本
输入插件脚本,通过后台转为转为envoyfilter下发。具体示例请参考Lua插件样例。
- 单击“确定”,插件创建完成。创建完成后,默认该插件是“未启用”状态,可通过配置Lua插件启用Lua插件和配置其生效力度,也可根据需要在插件右上角单击“编辑”或“删除”对Lua插件进行编辑或删除。
配置Lua插件
当Lua插件创建完成后,可以配置该插件的启用状态及生效力度。
- 登录微服务引擎控制台。
- 在左侧导航栏选择“应用网关 ”。
- 单击待操作的实例名称。
- 在左侧导航栏选择“插件管理”。
- 单击待配置的Lua插件右下角的“配置”,在“配置Lua插件”弹出框中可配置其启用状态和生效力度。
- 启用状态:对于未启用的插件可单击启用Lua插件;对于已启用的插件,也可单击禁用Lua插件。
- 生效力度:可设置插件作用范围,包括“网关全局”和“路由”,当设置作用范围为“路由”时,需要在下拉框中选中某路由。
生效力度为“网关全局”的Lua插件仅支持配置一个。
- 单击“确定”,插件配置完成。
Lua插件样例
以下代码将在http请求中加入头部x-lua-filter-request,在http响应中添加头部x-lua-filter-response。
function envoy_on_request(request_handle) request_handle:headers():add("x-lua-filter-request", "from lua filter on request") end function envoy_on_response(response_handle) response_handle:headers():add("x-lua-filter-response", "from lua filter on response") end