首页 > 解决方案 > rpc 错误:代码 = 不可用 desc = 上游连接错误或在标头之前断开/重置。重置原因:协议错误

问题描述

我正在尝试使用 GCP Cloud run 来托管 REST 和 gRPC 服务。我正在使用Sonora多路复用服务器,以便能够为这两个服务使用相同的端口 (443)。

到目前为止,这是我的初始化应用程序:

from flask import Flask
from sonora.wsgi import grpcWSGI
from app.services.api.analyse.v1 import servicer
from app.domain.entity.analysis.proto.analysis_pb2_grpc import add_AnalyserServicer_to_server
from app.services.api.health.v1.health import health_check_blueprint
from app.services.api.analyse.v1.analyse import analyse_blueprint

app = Flask(__name__)

app.register_blueprint(health_check_blueprint)
app.register_blueprint(analyse_blueprint)

app.wsgi_app = grpcWSGI(app.wsgi_app)
add_AnalyserServicer_to_server(servicer, app)

但不幸的是,当我使用我的客户端点击 gRPC 功能时,我在标题中遇到了错误。

REST 端点似乎工作得很好。

我的 Dockerfile 中的 cmd 如下所示:

CMD exec gunicorn --bind :${PORT} --workers 1 --threads 8 --timeout 0 --log-level=error app.services.server.v1:app

标签: pythongoogle-cloud-rungrpc-python

解决方案


推荐阅读