这是可行的:
server {
listen 5005 http2;
location / {
grpc_pass grpc://my_app:5001;
}
default_type application/grpc;
}
这是行不通的:
server {
listen 5005 http2;
location /test {
grpc_pass grpc://my_app:5001;
}
default_type application/grpc;
}
当我转到localhost:5005时,我收到日志,它看起来像这样:
192.168.0.1 - - [20/Sep/2021:10:18:02 +0000] "POST /tasks.TasksServiceGRPC/AskForJob HTTP/2.0" 200 153 "-" "grpc-node/1.24.7 grpc-c/8.0.0 (windows; chttp2; ganges)" "-"
当我转到localhost:5005/test时,我甚至没有在nginx中获得日志
在http1.1上一切正常
2条答案
按热度按时间q7solyqu1#
由于请求结构的原因,这在grpc中是不可能的
laawzig22#
您应该将location值设置为客户端引用的grpcURL。
对你我是这样想的: