## Wasm 插件 目前 Higress 提供了 c++ 和 golang 两种 Wasm 插件开发框架,支持 Wasm 插件路由&域名级匹配生效。 同时提供了多个内置插件,用户可以基于 Higress 提供的官方镜像仓库直接使用这些插件(以 c++ 版本举例): [basic-auth](./wasm-cpp/extensions/basic_auth):Basic Auth 认证鉴权 [key-auth](./wasm-cpp/extensions/key_auth):Key 认证鉴权 [hmac-auth](./wasm-cpp/extensions/hmac_auth):Hmac 认证鉴权 [jwt-auth](./wasm-cpp/extensions/jwt_auth): JWT 认证鉴权 [bot-detect](./wasm-cpp/extensions/bot_detect):防互联网爬虫 [custom-response](./wasm-cpp/extensions/custom_response):自定义应答 [key-rate-limit](./wasm-cpp/extensions/key_rate_limit):针对参数的限流 [request-block](./wasm-cpp/extensions/request_block):自定义请求屏蔽 使用方式具体可以参考此 [wasm-cpp Plugin文档](./wasm-cpp/README.md) ,或 [wasm-go Plugin文档](./wasm-go/README.md) 中相关说明。 所有内置插件都已上传至 Higress 的官方镜像仓库:higress-registry.cn-hangzhou.cr.aliyuncs.com/plugins 例如用如下配置使用 request-block 插件 的 1.0.0 版本: ```yaml apiVersion: extensions.higress.io/v1alpha1 kind: WasmPlugin metadata: name: request-block namespace: higress-system spec: selector: matchLabels: higress: higress-system-higress-gateway defaultConfig: block_urls: - "swagger.html" url: oci://higress-registry.cn-hangzhou.cr.aliyuncs.com/plugins/request-block:1.0.0 ``` ## 贡献 Wasm 插件 如果您想要为 Higress 贡献插件请参考下述说明。 根据你选择的开发语言,将插件代码放到 [wasm-cpp/extensions](./wasm-cpp/extensions) ,或者 [wasm-go/extensions](./wasm-go/extensions) 目录下。 除了代码以外,需要额外提供一个 README.md 文件说明插件配置方式,以及 VERSION 文件用于记录插件版本,用作推送镜像时的 tag。 提交 PR 后,我们将评估插件的通用性,并对代码逻辑进行审查,确认无误后,会将插件镜像推送到官方仓库,后面将出现在社区的插件市场中。