You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

通过Envoy Docker将React Web客户端连接到gRPC服务器无法工作

要通过Envoy Docker将React Web客户端连接到gRPC服务器,您可以按照以下步骤解决问题:

步骤1:确保React Web客户端可以直接连接到gRPC服务器,而不通过Envoy。这可以帮助排除React Web客户端或gRPC服务器的任何配置或连接问题。

步骤2:确保您的Envoy配置正确。在Envoy的配置文件中,您需要指定gRPC服务的上游主机和端口。确保主机和端口与gRPC服务器的配置匹配。以下是一个示例配置文件:

static_resources:
  listeners:
    - name: listener_0
      address:
        socket_address: { address: 0.0.0.0, port_value: 8080 }
      filter_chains:
        - filters:
            - name: envoy.http_connection_manager
              typed_config:
                "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
                stat_prefix: ingress_http
                codec_type: auto
                route_config:
                  name: local_route
                  virtual_hosts:
                    - name: backend
                      domains: ["*"]
                      routes:
                        - match: { prefix: "/" }
                          route:
                            cluster: backend_service
                            timeout: 0s
                            max_grpc_timeout: 0s
                http_filters:
                  - name: envoy.router
  clusters:
    - name: backend_service
      connect_timeout: 0.25s
      type: logical_dns
      dns_lookup_family: V4_ONLY
      lb_policy: round_robin
      load_assignment:
        cluster_name: backend_service
        endpoints:
          - lb_endpoints:
              - endpoint:
                  address:
                    socket_address:
                      address: grpc_server
                      port_value: 50051

在上述示例中,grpc_server是gRPC服务器的主机名,50051是gRPC服务器的端口号。确保您的配置文件中的主机和端口与gRPC服务器的设置匹配。

步骤3:确保您的React Web客户端代码正确连接到Envoy代理。在React Web客户端代码中,您需要指定Envoy代理的主机和端口,作为gRPC服务器的终端。以下是一个示例代码片段:

import { grpc } from "@improbable-eng/grpc-web";
import { MyService } from "./my_service_pb_service";

const client = new MyService("http://envoy_proxy:8080", null, null);

在上述示例中,envoy_proxy是Envoy代理的主机名,8080是Envoy代理的端口号。确保您的React Web客户端代码中的主机和端口与Envoy代理的设置匹配。

步骤4:在运行React Web客户端和Envoy代理的Docker容器时,确保它们在同一个网络中,并且可以相互通信。您可以使用Docker Compose或手动创建网络来实现这一点。

version: "3"
services:
  react_client:
    build: .
    ports:
      - "3000:3000"
    networks:
      - my_network
  envoy_proxy:
    image: envoyproxy/envoy:v1.18.3
    volumes:
      - ./envoy.yaml:/etc/envoy/envoy.yaml
    ports:
      - "8080:8080"
    networks:
      - my_network

networks:
  my_network:

在上述示例中,React Web客户端和Envoy代理都在my_network网络中,并且可以通过主机名进行通信。

通过按照以上步骤操作,您应该能够将React Web客户端成功连接到gRPC服务器,通过Envoy代理进行通信。

本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
面向开发者的云福利中心,ECS 60元/年,域名1元起,助力开发者快速在云上构建可靠应用

社区干货

社区容器服务发现及负载均衡

K8S 的服务发现是通过 *CoreDNS 和 Etcd*。 每个 ClusterIP 类型的 Service 资源会分配一个 VIP,并在 DNS 服务器中创建一条 A 记录,将域名` . .svc`指向其 VIP。**Etcd**就是 K8S 的数据库,保存了所有资源的信... 业务容器访问某个 SVC 时,Envoy 中已配置 SVC name(domain) 到 PodIP 的路由规则,目标地址直接变成 PodIP,不需要经过 iptables VIP 到 PodIP 的负载。 Envoy 之所以能处理诸如 GRPC 之类的长连接,是因为其内置的...

服务网格和 API 网关之间的差异

服务网格会通过客户端应用程序以透明(transparent)方式的重试来帮助客户端端点处理这种网络不稳定性。另外,它还会将请求路由到最佳配置策略的 服务器节点。**服务网格通常由两层实现:数据平面(data plane)和控制平面(control plane)。** 数据平面充当连接客户端服务器端点的代理,执行从控制平面接收的策略,并且是将运行时指标反馈回控制平面的监控工具。控制平面则是管理 service policy 和数据平面的编排。![1.webp](h...

行至2022,我们该如何看待服务网格? | 社区征文

需要借助于 conntrack 模块实现连接跟踪,在连接数较多的情况下,会造成较大的**消耗**,同时可能会造成 track 表满的情况,为了避免这个问题,业内有关闭 conntrack 的做法。- iptables 属于常用模块,全局生效,不能显式的禁止相关联的修改,**可管控性**比较差。- iptables 重定向流量本质上是通过 loopback 交换数据,outbond 流量将两次穿越协议栈,在大并发场景下会损失转发**性能**。![image1.png](https://p3-juejin....

基于 Agent 的无侵入 Proxyless Mesh:开启 Java 服务网格的未来

Envoy 这种独立的 Sidecar 架构不同,MSE Agent 与用户应用程序在同一个进程中运行,这种模式相对传统的 Proxy 模式来说带来了不少优点:* 首先,用户应用接入 Mesh,省去了 Sidecar 这一跳带来的请求延迟,可以通过框... 其次将业务相关的重试策略放到通用 Sidecar 里显然是不合适的,其他的譬如 WASM 扩展机制,由于其学习与改造成本,对于业务方来说往往也是不可接受的。而在 Proxyless 模式下,由于对应逻辑已经集成在客户端里面了,...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

通过Envoy Docker将React Web客户端连接到gRPC服务器无法工作-优选内容

社区容器服务发现及负载均衡
K8S 的服务发现是通过 *CoreDNS 和 Etcd*。 每个 ClusterIP 类型的 Service 资源会分配一个 VIP,并在 DNS 服务器中创建一条 A 记录,将域名` . .svc`指向其 VIP。**Etcd**就是 K8S 的数据库,保存了所有资源的信... 业务容器访问某个 SVC 时,Envoy 中已配置 SVC name(domain) 到 PodIP 的路由规则,目标地址直接变成 PodIP,不需要经过 iptables VIP 到 PodIP 的负载。 Envoy 之所以能处理诸如 GRPC 之类的长连接,是因为其内置的...
服务网格和 API 网关之间的差异
服务网格会通过客户端应用程序以透明(transparent)方式的重试来帮助客户端端点处理这种网络不稳定性。另外,它还会将请求路由到最佳配置策略的 服务器节点。**服务网格通常由两层实现:数据平面(data plane)和控制平面(control plane)。** 数据平面充当连接客户端服务器端点的代理,执行从控制平面接收的策略,并且是将运行时指标反馈回控制平面的监控工具。控制平面则是管理 service policy 和数据平面的编排。![1.webp](h...
行至2022,我们该如何看待服务网格? | 社区征文
需要借助于 conntrack 模块实现连接跟踪,在连接数较多的情况下,会造成较大的**消耗**,同时可能会造成 track 表满的情况,为了避免这个问题,业内有关闭 conntrack 的做法。- iptables 属于常用模块,全局生效,不能显式的禁止相关联的修改,**可管控性**比较差。- iptables 重定向流量本质上是通过 loopback 交换数据,outbond 流量将两次穿越协议栈,在大并发场景下会损失转发**性能**。![image1.png](https://p3-juejin....
基于 Agent 的无侵入 Proxyless Mesh:开启 Java 服务网格的未来
Envoy 这种独立的 Sidecar 架构不同,MSE Agent 与用户应用程序在同一个进程中运行,这种模式相对传统的 Proxy 模式来说带来了不少优点:* 首先,用户应用接入 Mesh,省去了 Sidecar 这一跳带来的请求延迟,可以通过框... 其次将业务相关的重试策略放到通用 Sidecar 里显然是不合适的,其他的譬如 WASM 扩展机制,由于其学习与改造成本,对于业务方来说往往也是不可接受的。而在 Proxyless 模式下,由于对应逻辑已经集成在客户端里面了,...

通过Envoy Docker将React Web客户端连接到gRPC服务器无法工作-相关内容

精选文章|直播服务监控告警归因实践

通过grafana查看服务指标, 发现该时间点有出现流量尖刺,QPS上升明显。![picture.image](https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/e45b7a92dd7942d9840a03e91ac8091f~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1715012441&x-signature=Kl3Xoc3ho3kD8uO2L%2BKluu3xDKs%3D)查看HTTP、GRPC指标,平均RT、99线明显上升。![picture.image](https://p6-volc-community-sign.by...

精选文章|直播服务监控告警归因实践

通过grafana查看服务指标, 发现该时间点有出现流量尖刺,QPS上升明显。![picture.image](https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/4d148fe8902b46f6bfa63505e7d43c36~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1715012441&x-signature=FUKGcnELhk%2BL4%2Fs5XpzOk6IcZxY%3D)查看HTTP、GRPC指标,平均RT、99线明显上升。![picture.image](https://p6-volc-community-sign....

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询