Может ли посланник истолковать wasm или wasm непрозрачен для него? - PullRequest
1 голос
/ 04 февраля 2020

Может ли прокси-сервер ENVOY интерпретировать файлы wasm? Как файлы wasm прозрачны для посланника? Я использовал фильтр wasm, который изменяет заголовок http с помощью envoy, и делал с ним скручивание, чтобы захватить заголовок http и показать интерпретированную версию wasm, а не двоичный файл. Это означает, что посланник интерпретирует wasm, просто хотел подтвердить. Источники так низки на них.

1 Ответ

1 голос
/ 05 февраля 2020

Документация посланника по WASM отсутствует в основном потому, что поддержка еще не полностью подготовлена. Тем не менее, я не совсем уверен, что понимаю, что вы пробовали, и ожидаемые результаты.

Цель фильтра WASM - позволить разработчикам добавлять фильтры Envoy без:

  • Перекомпиляция Envoy или
  • Запись фильтра на C ++.

Запрещается доставлять контент WASM клиенту для использования этим клиентом. Хотя вы могли бы написать фильтр WASM, который делает это, и, возможно, у вас есть.

Но в намеченном потоке Envoy запускает одну или несколько виртуальных машин WASM, которые загружают скомпилированные двоичные файлы WASM с локального диска или URL-адреса, и добавляет их в стек фильтров. Затем эти фильтры вызываются и выполняют некоторые действия с запросами и ответами.

Итак, сейчас я предполагаю, что у вас есть:

  1. Скомпилирован версия Envoy, которая поддерживает Фильтры WASM
  2. Написал фильтр WASM на выбранном вами языке и скомпилировал ( C ++ ).
  3. Настроил посланника на , используйте ваш фильтр.
  4. Запустил Envoy и сделал запросы, которые будут затронуты фильтром.

Если вы выполнили все вышеперечисленное, единственный способ, чтобы заголовок, установленный вашим фильтром, содержал «WASM». "это если вы заполнили заголовок" WASM "в фильтре. Если это именно то, что вы сделали, вы должны знать, что размер заголовка не бесконечен, и любой нетривиальный фильтр WASM будет представлять проблемы с размером.

...