10

Maybe (hopefully) I'm missing something very simple, but I can't seem to figure this out.

I have a set of gRPC services that I would like to put behind a nghttpx proxy. For this I need to be able to configure my client with a channel on a non-root url. Eg.

channel = grpc.insecure_channel('localhost:50051/myapp')
stub = MyAppStub(channel)

This wasn't working immediately through the proxy (it just hangs), so I tested with a server on the sub context.

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

I get the following

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"}

So the question is - is it possible to create gRPC channels on non-root urls?

Martin Schröder
  • 4,176
  • 7
  • 47
  • 81
MarkNS
  • 3,811
  • 2
  • 43
  • 60

1 Answers1

10

As confirmed here, this is not possible. I will route traffic via subdomains in nghttpx.

MarkNS
  • 3,811
  • 2
  • 43
  • 60