Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Proxy 如何为2个grpc服务配置特使代理?_Proxy_Grpc_Envoyproxy_Grpc Python_Grpc Web - Fatal编程技术网

Proxy 如何为2个grpc服务配置特使代理?

Proxy 如何为2个grpc服务配置特使代理?,proxy,grpc,envoyproxy,grpc-python,grpc-web,Proxy,Grpc,Envoyproxy,Grpc Python,Grpc Web,我正在使用grpc web的特使代理,一个服务的一切都很好,但现在我正在注册其他遇到问题的服务。我原以为路由配置可以工作,但当我尝试点击端点时,它在bloomRPC中给了我一个DNS解析失败的 我是不是应该换成侧车配置?我一直在避免这个问题,因为它增加了开发的复杂性,但在我修复这个问题的研究中,它出现了很多 我在MacOS Catalina和docker compose一起运行 admin: access_log_path: /tmp/admin_access.log address:

我正在使用grpc web的特使代理,一个服务的一切都很好,但现在我正在注册其他遇到问题的服务。我原以为路由配置可以工作,但当我尝试点击端点时,它在bloomRPC中给了我一个
DNS解析失败的

我是不是应该换成侧车配置?我一直在避免这个问题,因为它增加了开发的复杂性,但在我修复这个问题的研究中,它出现了很多

我在MacOS Catalina和docker compose一起运行

admin:
  access_log_path: /tmp/admin_access.log
  address:
    socket_address: { address: 0.0.0.0, port_value: 9991 }

static_resources:
  listeners:
    - name: listener_0
      address:
        socket_address:
          address: 0.0.0.0
          port_value: 9911
      filter_chains:

        - filters:
            - name: envoy.filters.network.http_connection_manager
              typed_config:
                "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
                codec_type: auto
                stat_prefix: ingress_http
                route_config:
                  name: local_route
                  virtual_hosts:
                    - name: local_service
                      domains:
                        - "*"
                      routes:
                        - match:
                            prefix: "/service1"
                          route:
                            cluster: service1
                        - match:
                            prefix: "/service2"
                          route:
                            cluster: service2
                      cors:
                        allow_origin_string_match:
                          - prefix: "*"
                        allow_methods: GET,PUT,DELETE,POST,OPTIONS
                        allow_headers: keep-alive,user-agent,cache-control,content-type,content-transfer-encoding,custom-header-1,x-accept-content-transfer-encoding,x-accept-response-streaming,x-user-agent,x-grpc-web,grpc-timeout,access-token
                        max_age: "1728000"
                        expose_headers: custom-header-1,grpc-status,grpc-message,access-token
                        allow_credentials: true
                http_filters:
                  - name: envoy.filters.http.grpc_http1_bridge
                    typed_config: { }
                  - name: envoy.filters.http.grpc_web
                    typed_config: { }
                  - name: envoy.filters.http.cors
                    typed_config: { }
                  - name: envoy.filters.http.router
                    typed_config: { }

  clusters:
    - name: service1
      connect_timeout: 0.25s
      type: strict_dns
      dns_lookup_family: V4_ONLY
      http2_protocol_options: { }
      lb_policy: round_robin
      load_assignment:
        cluster_name: service1
        endpoints:
          - lb_endpoints:
              - endpoint:
                  address:
                    socket_address:
                      address: host.docker.internal #0.0.0.0
                      port_value: 50101

    - name: service2
      connect_timeout: 0.25s
      type: strict_dns
      dns_lookup_family: V4_ONLY
      http2_protocol_options: { }
      lb_policy: round_robin
      load_assignment:
        cluster_name: service2
        endpoints:
          - lb_endpoints:
              - endpoint:
                  address:
                    socket_address:
                      address: host.docker.internal #0.0.0.0
                      port_value: 50102

嘿,你解决过这个问题吗?刚刚切换到一个服务网格,但它还没有完全工作,我不得不停止了一段时间。我遵循同样的路径。虽然我确实解决了上面的问题。你需要将BloomRPC从
GRPC
切换到
Web
@LuisLiz我使用的是特使代理,有很多GRPC服务,路由工作对我来说很好;我做了与您相同的操作,但我没有设置
dns\u lookup\u系列:V4\u ONLY
,而是将IP用于地址字段。。。由于您的错误显示
DNS解析失败