具有非根路径的 gRPC 端点

Mar*_*kNS 7 grpc

也许(希望如此)我错过了一些非常简单的东西,但我似乎无法弄清楚。

我有一组我想放在 nghttpx 代理后面的 gRPC 服务。为此,我需要能够使用非根 url 上的通道配置我的客户端。例如。

channel = grpc.insecure_channel('localhost:50051/myapp')
stub = MyAppStub(channel)
Run Code Online (Sandbox Code Playgroud)

这并没有立即通过代理工作(它只是挂起),所以我在子上下文中使用服务器进行了测试。

server = grpc.server(executor)
service_pb2.add_MyAppServicer_to_server(
    MyAppService(), server)
server.add_insecure_port('{}:{}/myapp'.format(hostname, port))
server.start()
Run Code Online (Sandbox Code Playgroud)

我得到以下

E1103 21:00:13.880474000 140735277326336 server_chttp2.c:159] 
{"created":"@1478203213.880457000","description":"OS Error",
"errno":8,"file":"src/core/lib/iomgr/resolve_address_posix.c",
"file_line":115,"os_error":"nodename nor servname provided, or not known",
"syscall":"getaddrinfo","target_address":"[::]:50051/myapp"}
Run Code Online (Sandbox Code Playgroud)

所以问题是 - 是否可以在非根 url 上创建 gRPC 通道?

Mar*_*kNS 10

正如此处所证实的,这是不可能的。我将通过 nghttpx 中的子域路由流量。