当用户有多个与之关联的角色时,授权承载令牌将超过 istio 提供的最大标头大小,从而阻止所有请求。
授权不记名令牌有超过 35,000 个字符,大小为 34K。
如何增加 istio 提供的最大标头大小?
据我所知,从 istio 1.5 开始,您将使用控制标头和路由
\n但正如上面链接中提到的
\n\n\n混合器策略在 Istio 1.5 中已弃用,不建议用于生产用途。
\n考虑使用 Envoy ext_authz过滤器、lua过滤器,或使用Envoy-wasm沙箱编写过滤器。
\n
正如 envoy文档中提到的,您可以使用 max_request_headers 来增加标头大小。
\n\n\n最大请求标头_kb
\n传入连接的最大请求标头大小。如果未配置,则允许的默认最大请求标头为 60 KiB。超过此限制的请求将收到 431 响应。根据当前实施限制,最大可配置限制为 96 KiB。
\n
如上所述,您可以使用envoy 过滤器来更改它。
\n\n\nEnvoyFilter提供了一种机制来自定义 Istio Pilot 生成的 Envoy 配置。使用 EnvoyFilter 修改某些字段的值、添加特定过滤器,甚至添加全新的侦听器、集群等。必须谨慎使用此功能,因为不正确的配置可能会破坏整个网格的稳定性。与其他 Istio 网络对象不同,EnvoyFilter 是附加应用的。对于特定命名空间中的给定工作负载,可以存在任意数量的 EnvoyFilter。这些 EnvoyFilter 的应用顺序如下:config 根命名空间中的所有 EnvoyFilter,然后是工作负载\xe2\x80\x99s 命名空间中的所有匹配的 EnvoyFilter。
\n
在这里查看 max_request_headers 的示例。
\n\n| 归档时间: |
|
| 查看次数: |
5428 次 |
| 最近记录: |