我在.NET中使用GRPC创建了一个简单的容器来上传文件,容器在我的本地机器上工作得很好,并且远程地由Nginx服务器代理。在部署容器时,我可以顺利地将文件流到服务器。然而,当我等待答复时:
var response = await stream.ResponseAsync;我得到以下例外:
异常: HTTP/2服务器重置流。HTTP/2错误代码'INTERNAL_ERROR‘(0x2).",DebugException="System.IO.IOException:请求被中止。-> System.Net.Http.Http2StreamException: HTTP/2服务器重置流。HTTP/2错误代码'INTERNAL_ERROR‘(0x2)IOException:请求被中止。Http2StreamException: HTTP/2服务器重置流。HTTP/2错误代码'INTERNAL_ERROR‘(0x2).",DebugException="System.IO.IOException:请求被中止。
经过大量调查,Nginx反向代理似乎有问题。下面是Nginx的设置:
server {
listen 13*.**.**.** ssl http2;
server_name mydomain.com 13*.**.**.**;
access_log /var/log/nginx/myservice.log;
error_log /var/log/nginx/myservice_error.log;
ssl_certificate /etc/ssl/certs/myssl.crt;
ssl_certificate_key /etc/ssl/private/myssl.key;
ssl_prefer_server_ciphers on;
proxy_buffering off;
location / {
grpc_pass grpcs://127.0.0.1;
}
}GRPC服务运行良好,并完成了所有请求,但是Nginx引发了以下问题(我检查了错误日志):
/FileManagementService.Grpc.FileManagem> 2021/10/16 17:58:16错误1137904#1137904:*2371上行发送帧为关闭流1读取上游,客户机:*,服务器: mydomain.com,请求:"POST
发布于 2022-03-10 06:16:21
.proto
如果方法调用等于
rpc上载( RequestFileUpload)返回
然后。变到
rpc上传( RequestFileUpload)返回(流ResponseFileUpload);
(流恢复和正常返回->流请求和流返回)
https://stackoverflow.com/questions/69598330
复制相似问题