1

代理 ENVOY 可以解释 wasm 文件吗?就像 wasm 文件对特使是透明的吗?我使用了一个 wasm 过滤器,它使用 envoy 更改 http 标头并对其进行 curl 以捕获 http 标头并显示 wasm 的解释版本而不是二进制文件。这确实意味着特使解释了wasm,只是想确认一下。这些资源太少了。

4

1 回答 1

1

缺少 WASM 的 Envoy 文档主要是因为支持尚未完全成熟。也就是说,我不确定我是否了解您的尝试或预期结果。

WASM 过滤器的目的是允许开发人员添加 Envoy 过滤器,而无需:

  • 重新编译 Envoy 或
  • 用 C++ 编写过滤器。

它不是将 WASM 内容交付给客户端以供该客户端使用。尽管您可以编写一个 WASM 过滤器来执行此操作,并且也许您有。

但在预期流程中,Envoy 运行一个或多个 WASM 虚拟机,这些虚拟机从本地磁盘或 URL 加载已编译的 WASM 二进制文件并将它们添加到过滤器堆栈中。然后调用这些过滤器并对请求和响应执行一些操作。

所以现在我假设你有:

  1. 编译了支持 WASM 过滤器的 Envoy版本
  2. 用您选择的语言编写一个 WASM 过滤器并编译 ( C++ )。
  3. 配置 Envoy 以使用您的过滤器。
  4. 启动 Envoy 并发出将受过滤器影响的请求。

如果您已完成上述所有操作,则过滤器设置的标题包含“WASM”的唯一方法是在过滤器中使用“WASM”填充标题。如果这实际上是您所做的,您应该知道标头大小不是无限的,并且任何非平凡的 WASM 过滤器都会出现大小问题。

于 2020-02-05T17:28:19.863 回答