标签: envoyproxy

如何诊断/修复特使代理“上游连接错误或在标头之前断开/重置。重置原因:连接失败”

我有一个服务网格特使代理配置问题。配置基于官方特使代理站点的这个例子:https : //www.envoyproxy.io/docs/envoy/latest/start/sandboxes/front_proxy,以及这个ssl课:https : //www.envoyproxy.io /学习/SSL

我尝试了许多不同的端口组合(80,443)、命名、域、nginx 配置等......,没有任何效果。

这是我的前台代理:

static_resources:
  listeners:
  - address:
      socket_address:
        address: 0.0.0.0
        port_value: 80
    listener_filters:
      - name: "envoy.listener.tls_inspector"
        typed_config: {}
    filter_chains:
    - filter_chain_match:
        server_names: ["example.com", "www.example.com", "api.example.com", "test.example.com"]
      tls_context:
        common_tls_context:
          tls_certificates:
            - certificate_chain:
                filename: "/etc/example-ai.pem"
              private_key:
                filename: "/etc/example-ai.key"
    - filters:
      - name: envoy.http_connection_manager
        typed_config:
          "@type": type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager
          stat_prefix: ingress_http
          access_log:
            - name: envoy.file_access_log
              config:
                path: "/var/log/access.log"
          route_config:
            virtual_hosts:
            - name: services
              domains:
              - ["*.example.com","example.com"]
              routes:
              - match:
                  prefix: "/"
                redirect:
                  path_redirect: "/"
                  https_redirect: …
Run Code Online (Sandbox Code Playgroud)

nginx envoyproxy

14
推荐指数
1
解决办法
6330
查看次数

Istio(0.7.1):断路器不适用于httpConsecutiveErrors

断路器不会在httpConsecutiveErrors上跳闸:1(对于500响应).所有请求都通过并提供500.断路器应跳闸,应返回503(服务不可用).

按照断路器设置步骤进行操作 .

一旦httpbin启动,你可以用它模拟500请求:

kubectl exec -it $FORTIO_POD -c fortio /usr/local/bin/fortio -- load -c 1 -qps 0 -n 20 -loglevel Warning http://httpbin:8000/status/500
Run Code Online (Sandbox Code Playgroud)

运行此操作将模拟返回500的20个请求.

但是,如果您已应用断路器,则应仅允许一个请求为500,并且应该跳过剩余的请求并返回503.这不会发生.在github Github问题上提出的问题

circuit-breaker kubernetes devops istio envoyproxy

13
推荐指数
1
解决办法
329
查看次数

是否可以在 k8s Ingress Controller 中重写 HOST 标头?

由于某些依赖 Host 标头才能正常运行的遗留应用程序,我需要一个能够重写 Host 标头并将其传递给下游(后端)的 Ingress(代理等)。是否有支持此功能的入口控制器?

例子:

最终用户通过foo.com/afor backendafoo.com/bfor backend访问我们的网站b。但由于ab是遗留应用程序,它只接受:

  • a 接受连接时 Host: a.foo.com
  • b 接受连接时 Host: b.foo.com

nginx haproxy kubernetes envoyproxy

12
推荐指数
2
解决办法
1万
查看次数

带有 API 网关的微服务 - Ocelot 与 Envoy

我有一个基于 .NET core 的微服务架构,并且有几个微服务。我们选择 ocelot 作为 API 网关来实现路由、聚合和安全。在我们的架构讨论中,有人提到 Envoy Api Gateway 也是一个不错的选择,但找不到 Ocelot 和 Envoy 之间的任何差异,它的优缺点包括性能、可扩展性、社区支持等......

任何人都可以帮助分享一些关于哪一个是用于 .NET Core 应用程序的最佳选择的见解吗?

.net-core envoyproxy ocelot

9
推荐指数
0
解决办法
6110
查看次数

是否可以使用没有kubernetes或docker的Istio?

我在笔记本电脑上运行4个微服务,在各个端口监听.我可以使用Istio在笔记本电脑上创建服务网格,以便服务可以通过Istio相互通信吗?谷歌关于Istio的所有链接都包括kubernetes,但我想在没有Kubernetes的情况下运行Istio.谢谢阅读.

kubernetes istio envoyproxy

8
推荐指数
1
解决办法
2481
查看次数

如何在 envoyproxy 配置文件中使用环境变量?

到目前为止,我发现的唯一解决方案是使用--config-yaml,类似的东西

envoy -c /etc/service-envoy.yaml \
    --config-yaml "'static_resources': {
    'clusters': [
      {
        'name': 'jaeger',
        'connect_timeout': '1s',
        'type': 'strict_dns',
        'lb_policy': 'round_robin',
        'hosts': [
          {
            'socket_address': {
              'address': '$JAEGER_HOST',
              'port_value': 9411
            }
          }
        ]
      }
    ]
  }"
Run Code Online (Sandbox Code Playgroud)

envoyproxy

8
推荐指数
1
解决办法
3738
查看次数

服务网格和异步服务

我计划将 K8s/Istio 引入我的基础设施。现在我有很多使用 RabbitMQ 相互通信的服务。

服务网格概念似乎假设所有服务都应该是同步的。

我想至少保持我的一些服务异步并利用 istio 提供的相互 TLS 身份验证以及聚合监控。

是否有任何工具/方法可以帮助我简化同步和异步服务的管理?

谢谢,

openshift kubernetes istio envoyproxy

7
推荐指数
1
解决办法
1411
查看次数

为什么 grpc-web 需要特使代理?

如果浏览器支持http/2,为什么还grpc-web需要envoy代理?

仅不支持 http/2 的旧浏览器才需要它吗?

grpc grpc-web envoyproxy

7
推荐指数
1
解决办法
1620
查看次数

Envoy 代理和 Consul 有什么区别?

我很难理解特使和领事之间的区别。每一种都有哪些用例以及优点是什么?它们似乎都提供服务网格、可观察性和负载平衡。

consul envoyproxy

7
推荐指数
1
解决办法
2615
查看次数

使用 Envoy 在网络之间建立隧道

对于混合云用例,我们正在研究 EnvoyProxy 是否适合作为跨本地防火墙移动数据的解决方案。预期的设置如下:

  • 应用程序 A 位于本地网络中,没有直接出站或入站 Internet 连接
  • App B 位于云端
  • Envoy代理(PC)放置在云端
  • Envoy 代理 (PA) 放置在本地网络中,并配置为允许到 PC 的出站网络连接
  • PA 创建到 PC 的开放式双向身份验证 TLS 连接,有效地在它们之间创建隧道
  • 应用程序 B 调用 PC 上的 API 端点,该端点通过开放的 TLS 连接路由到 PA,并由 PA 转发到应用程序 A

使用 Envoy 将数据路由到上游集群已有详细记录。但是,我们想知道 Envoy 是否能够在两个代理实例之间设置 TLS 连接并在两个方向上使用该通道。限制是该 TLS 连接只能从一个方向(出站)建立。

如果这是可能的,有人可以指出我正确的方向吗?

谨致问候, 乔斯特

proxy firewall tunnel envoyproxy mtls

7
推荐指数
1
解决办法
1440
查看次数