【问题标题】:How to get domain from Envoy by Lua如何通过 Lua 从 Envoy 获取域
【发布时间】:2020-01-13 04:00:54
【问题描述】:

我想通过不同的域路由请求。我读过https://www.envoyproxy.io/docs/envoy/v1.12.2/configuration/http/http_filters/lua_filter,但我找不到任何方法可以做到这一点。有没有办法通过 Lua 从 Envoy 获取域?

谢谢

【问题讨论】:

    标签: envoyproxy


    【解决方案1】:

    要使用 Lua 从请求中获取域,您可以使用 :host 特殊标头。但是,要按域路由,您可能需要在 RDS 中使用虚拟主机,您可以在其中指定一组与一组域对应的路由,Envoy 将根据域处理流量分区。

    https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#envoy-v3-api-msg-config-route-v3-virtualhost

    【讨论】:

      【解决方案2】:

      对我来说,:host 标头不起作用。

      但我可以根据 Derek 列出的页面中的此评论使用 :authority 标头

      在内部,Envoy 总是使用 HTTP/2 :authority 标头来表示 HTTP/1 Host 标头。因此,如果尝试在 Host 上匹配,请改为在 :authority 上匹配。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-08-14
        • 2018-11-25
        • 1970-01-01
        • 2010-11-07
        • 1970-01-01
        • 2016-10-19
        相关资源
        最近更新 更多