#kubernetes #reverse-proxy #envoyproxy
#kubernetes #обратный прокси #envoyproxy
Вопрос:
Есть ли какой-либо способ удалить заголовок, идущий вверх по потоку после внешней аутентификации с прокси-сервером envoy? Мы планировали перейти на envoy proxy для нашего внутреннего шлюза API, но сейчас это блокируется.
Например: внешняя служба аутентификации получает запрос и обрабатывает заголовок аутентификации, в случае сбоя проверки он выдает 401. Но если это удастся, я хочу запретить отправку заголовков аутентификации вверх по течению.
Согласно документации Ext Auth:
Успешная проверка позволяет службе авторизации добавлять или переопределять заголовки из исходного запроса перед отправкой его вышестоящему. Это делается путем настройки того, какие заголовки в ответе авторизации должны быть отправлены в восходящий поток. Смотрите разрешенные заголовки allowed_authorization_headers ниже.
Там не упоминается, могу ли я полностью удалить заголовок, идущий вверх по течению.
У меня есть возможность переопределить заголовки, но это вызывает конфликт заголовков на вышестоящих серверах. Таким образом, это не возможное решение.
Как я могу этого добиться?
Ответ №1:
Обратите внимание, что я не эксперт в envoy proxy, но из того, что я смог найти, вы действительно можете написать скрипт Lua, который сможет удалять заголовки. В документации вы можете найти пример такого скрипта, и, немного повозившись, вы сможете настроить его при необходимости:
-- Remove a response header named 'foo'
response_handle:headers():remove("foo")
Вы можете найти более подробную информацию в официальной документации. Вот для config.filter.http.lua.v2.Lua и вот примеры скриптов.
Ответ №2:
Как насчет использования опции route
level request_headers_to_remove
для удаления заголовка авторизации?
Смотрите https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto