После этого (я думаю, точно):
https://www.envoyproxy.io/docs/envoy/latest/configuration/http_filters/grpc_json_transcoder_filter
Я следую конфигурации в документации, и моя служба gRPC включена :50051
, а транскодер gRPC-JSON прослушивает :51051
.
Я могу отправить запросы gRPC к транскодеру:
grpcurl \
--plaintext \
--import-path=${HELLOWORLD} \
--import-path=${GOOGLEAPIS} \
--proto=helloworld/helloworld.proto \
-d '{"name":"Freddie"}' \
:51051 \
helloworld.Greeter/SayHello
{
"message": "Hello Freddie"
}
Но я не могу определить, как правильно отправлять REST-запросы к нему:
curl \
--request GET \
--header "Content-Type: application/json" \
--data '{"name":"Freddie"}' \
http://0.0.0.0:51051/helloworld.Greeter/SayHello
curl \
--header "Content-Type: application/json" \
--data '{"name":"Freddie"}' \
http://0.0.0.0:51051/say
curl \
--request GET \
--header "Content-Type: application/json" \
http://0.0.0.0:51051/say?name=Freddie
Я пробовал с | без заголовков, с --insecure
и https, используя --request POST
и --request GET
все безуспешно.
Все результаты в:
upstream connect error or disconnect/reset before headers. reset reason: remote reset
Буду признателен за руководство по устранению неполадок этого типа. Посланник ничего не записывает в стандартный вывод, соответствующий этим запросам, и консоль администратора также не содержит (очевидного) объяснения.
Спасибо!