更新时间:2024-08-15 GMT+08:00
分享

插件管理

CSE应用网关支持Lua插件,支撑Codehub自定义实现多地域部署请求转发、请求流控、按URL类型分发请求场景。关于网关提供的Lua API详细信息,请参见Lua

创建Lua插件

  1. 登录微服务引擎控制台
  2. 在左侧导航栏选择“应用网关 ”。
  3. 单击待操作的实例名称。
  4. 在左侧导航栏选择“插件管理”。
  5. 单击“创建Lua插件”,在弹出框中输入如下参数。

    表1 创建Lua插件参数

    参数名称

    描述

    插件名称

    自定义输入插件名称。

    插件描述

    自定义输入插件描述信息。

    插件脚本

    输入插件脚本,通过后台转为转为envoyfilter下发。具体示例请参考Lua插件样例

  6. 单击“确定”,插件创建完成。创建完成后,默认该插件是“未启用”状态,可通过配置Lua插件启用Lua插件和配置其生效力度,也可根据需要在插件右上角单击“编辑”或“删除”对Lua插件进行编辑或删除。

配置Lua插件

当Lua插件创建完成后,可以配置该插件的启用状态及生效力度。

  1. 登录微服务引擎控制台
  2. 在左侧导航栏选择“应用网关 ”。
  3. 单击待操作的实例名称。
  4. 在左侧导航栏选择“插件管理”。
  5. 单击待配置的Lua插件右下角的“配置”,在“配置Lua插件”弹出框中可配置其启用状态和生效力度。

    • 启用状态:对于未启用的插件可单击启用Lua插件;对于已启用的插件,也可单击禁用Lua插件。
    • 生效力度:可设置插件作用范围,包括“网关全局”和“路由”,当设置作用范围为“路由”时,需要在下拉框中选中某路由。

      生效力度为“网关全局”的Lua插件仅支持配置一个。

  6. 单击“确定”,插件配置完成。

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

相关文档