专栏中心

EEPW首页 > 专栏 > 在nginx中通过多级代理支持grpc协议

在nginx中通过多级代理支持grpc协议

发布人:天翼云开发者 时间:2025-10-24 来源:工程师 发布文章

本文分享自天翼云开发者社区《在nginx中通过多级代理支持grpc协议》.作者:尹****聪

gRPC 是由 Google 开源的一个 RPC 框架,旨在统一服务间通信的方式。该框架基于 HTTP/2 协议传输,使用 Protocol Buffers 作为接口描述语言,可以自动生成服务间调用的代码。

nginx提供了一个grpc的模块用于实现grpc协议的反向代理,通过配置上游转发的方式(grpc_pass)即可,跟proxy_pass的使用方式相同,可以通过配置upstream zone来实现负载均衡。但是如果想使用多个层级对grpc请求进行代理的话,会发现grpc客户端会提示 not find trailers的错误。主要是因为nginx在响应过程中会把响应体后面的trailers过滤掉,从而导致客户端接收不到预期的trailers,进而报错。

解决的方案可以在配置文件中通过 add_trailers 这一配置项来添加trailers,不过这种方法比较受限,首先需要知道server端会响应哪些trailes头以及内容;

另外一种解决方案是开发一个模块在nginx的响应过程中,对trailers进行过滤并保存,在响应给上一层级或者客户端时,把trailers进行恢复。这样的话便可以实现trailers经过多层级的转发后仍然保持正常的状态。


专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词: CDN 全站加速

相关推荐

工信部:获得CDN牌照的企业达到70家

云服务市场,小厂商的出路在哪儿?

智能计算 2018-05-04

看完这个,还觉得IPV6离你很远吗?

网络与存储 2020-06-29

终于发了!工信部发放首批CDN牌照 CDN市场准入门槛提高

Akamai: 全球连网速度持续提升

CDN网络加速与SSL加速

网络与存储 2022-10-28

电磁兼容标准修订

CDN网络路由技术

资源下载 2010-04-24

电磁兼容性测试规范

资源下载 2008-09-23

智能路由发展“青黄不接” 优酷有何良策?

消费电子 2016-06-13

微软建立全球专属CDN网络:平均延迟50ms

网络与存储 2018-05-09

从Gartner最新全球报告看云CDN服务商的崛起之路

CDN市场一片繁华 只待标准化

2017-04-14
更多 培训课堂
更多 焦点
更多 视频

技术专区