That's what's so strange... when I make the request with CURL and I prefix the domain name with https
it work and it does dump the whole request:
curl -X POST --http2 'https://myservice.domain.org:443/namespace.ClientRPC/Search' -d "" -H 'Content-Type: application/grpc' -H 'Accept: application/grpc'
Produces:
traefik | time="2020-03-25T14:22:00Z" level=debug msg="vulcand/oxy/roundrobin/rr: begin ServeHttp on request" Request="{\"Method\":\"POST\",\"URL\":{\"Scheme\":\"\",\"Opaque\":\"\",\"User\":null,\"Host\":\"\",\"Path\":\"/namespace.ClientRPC/Search\",\"RawPath\":\"\",\"ForceQuery\":false,\"RawQuery\":\"\",\"Fragment\":\"\"},\"Proto\":\"HTTP/2.0\",\"ProtoMajor\":2,\"ProtoMinor\":0,\"Header\":{\"Accept\":[\"application/grpc\"],\"Content-Length\":[\"0\"],\"Content-Type\":[\"application/grpc\"],\"User-Agent\":[\"curl/7.58.0\"],\"X-Forwarded-Host\":[\"spot.prozach.org\"],\"X-Forwarded-Port\":[\"443\"],\"X-Forwarded-Proto\":[\"https\"],\"X-Forwarded-Server\":[\"63ef84bac1cc\"],\"X-Real-Ip\":[\"192.168.3.12\"]},\"ContentLength\":0,\"TransferEncoding\":null,\"Host\":\"spot.prozach.org\",\"Form\":null,\"PostForm\":null,\"MultipartForm\":null,\"Trailer\":null,\"RemoteAddr\":\"192.168.3.12:46804\",\"RequestURI\":\"/namespace.ClientRPC/Search\",\"TLS\":null}"
traefik | time="2020-03-25T14:22:00Z" level=debug msg="vulcand/oxy/roundrobin/rr: Forwarding this request to URL" ForwardURL="h2c://myservice.domain.or:8990" Request="{\"Method\":\"POST\",\"URL\":{\"Scheme\":\"\",\"Opaque\":\"\",\"User\":null,\"Host\":\"\",\"Path\":\"/namespace.ClientRPC/Search\",\"RawPath\":\"\",\"ForceQuery\":false,\"RawQuery\":\"\",\"Fragment\":\"\"},\"Proto\":\"HTTP/2.0\",\"ProtoMajor\":2,\"ProtoMinor\":0,\"Header\":{\"Accept\":[\"application/grpc\"],\"Content-Length\":[\"0\"],\"Content-Type\":[\"application/grpc\"],\"User-Agent\":[\"curl/7.58.0\"],\"X-Forwarded-Host\":[\"spot.prozach.org\"],\"X-Forwarded-Port\":[\"443\"],\"X-Forwarded-Proto\":[\"https\"],\"X-Forwarded-Server\":[\"63ef84bac1cc\"],\"X-Real-Ip\":[\"192.168.3.12\"]},\"ContentLength\":0,\"TransferEncoding\":null,\"Host\":\"spot.prozach.org\",\"Form\":null,\"PostForm\":null,\"MultipartForm\":null,\"Trailer\":null,\"RemoteAddr\":\"192.168.3.12:46804\",\"RequestURI\":\"/namespace.ClientRPC/Search\",\"TLS\":null}"
traefik | time="2020-03-25T14:22:02Z" level=debug msg="'499 Client Closed Request' caused by: context canceled"
traefik | time="2020-03-25T14:22:02Z" level=debug msg="vulcand/oxy/roundrobin/rr: completed ServeHttp on request" Request="{\"Method\":\"POST\",\"URL\":{\"Scheme\":\"\",\"Opaque\":\"\",\"User\":null,\"Host\":\"\",\"Path\":\"/namespace.ClientRPC/Search\",\"RawPath\":\"\",\"ForceQuery\":false,\"RawQuery\":\"\",\"Fragment\":\"\"},\"Proto\":\"HTTP/2.0\",\"ProtoMajor\":2,\"ProtoMinor\":0,\"Header\":{\"Accept\":[\"application/grpc\"],\"Content-Length\":[\"0\"],\"Content-Type\":[\"application/grpc\"],\"User-Agent\":[\"curl/7.58.0\"],\"X-Forwarded-Host\":[\"spot.prozach.org\"],\"X-Forwarded-Port\":[\"443\"],\"X-Forwarded-Proto\":[\"https\"],\"X-Forwarded-Server\":[\"63ef84bac1cc\"],\"X-Real-Ip\":[\"192.168.3.12\"]},\"ContentLength\":0,\"TransferEncoding\":null,\"Host\":\"spot.prozach.org\",\"Form\":null,\"PostForm\":null,\"MultipartForm\":null,\"Trailer\":null,\"RemoteAddr\":\"192.168.3.12:46804\",\"RequestURI\":\"/namespace.ClientRPC/Search\",\"TLS\":null}"
traefik | 192.168.3.12 - - [25/Mar/2020:14:22:00 +0000] "POST /namespace.ClientRPC/Search HTTP/2.0" 499 21 "-" "curl/7.58.0" 2 "spot@file" "h2c://myservice.domain.or:8990" 1805ms
(The GRPC server is connected and waiting at the end there so I have to stop curl with Ctrl-C so you see the context canceled message there)
That's why I'm confused, I don't even think it's thinking it's an HTTP request at this point so maybe it doesn't process through the routers.
Some of my config is from the docker provider so it's not practical/possible for me to provide the whole config. I can try to come up with a minimal example though.