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

本文分享自天翼云开发者社区《在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经过多层级的转发后仍然保持正常的状态。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/945408.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python---批量去视频的片头和片尾

在需要对视频进行批量处理的时候,常见的就是批量去视频的片头和片尾: 具体代码示例:import os import re import time import subprocess from decimal import Decimal from multiprocessing import Poolpath = rE:…

Linux下的拼音输入法 (1)

我用的是Debian 12 KDE. 国内互联网厂的拼音输入法装了都不能用:可以理解,这哪有做游戏等挣钱啊。 用了半年的sunpinyin,会用程序往用户词典里加词 (在系列2里贴代码)。 今天折腾了一通输入法,把KDE搞坏了,Ctrl…

Docker镜像与容器:轻松理解与实战 - 实践

Docker镜像与容器:轻松理解与实战 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "…

从数据孤岛到智能洞察:构建面向未来的 Operation intelligence 体系

在数字世界持续运转的过程中,系统每时每刻都在产生海量的数据。我们把这些数据统称为 Operation Data(运营数据)。它不仅记录着系统的运行状态,更蕴藏着驱动业务增长、保障系统稳定、防范安全风险的关键线索。更重…

2025年低合金钢铸件厂家权威推荐榜单:水泵类铸件/矿山机械铸件/阀门类铸件源头厂家精选。

在竞争激烈的制造业中,一家位于镇江、深耕行业二十余年的铸钢企业,以每年超8000吨的产量和远销海外的实力,正赢得全球工业客户的广泛认可。 在当今制造业蓬勃发展的时代,低合金钢铸件因其优异的机械性能和成本效益…

oracle sql格式化

1、实用的 SQL*Plus 格式化脚本-- format.sql - SQL*Plus 格式化脚本 SET ECHO OFF SET FEEDBACK ON SET VERIFY OFF SET HEADING ON SET PAGESIZE 50 SET LINESIZE 200 SET TRIMSPOOL ON SET TAB OFF SET NULL "…

鸿蒙NEXT开发浅进阶到精通14:鸿蒙制作项目中遇到的需求问题及解决笔记05

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

oracle 数据字典应用

1、可以通过v$fixed_table 或dictionary来得到oracle中所有的数据字典 2、v$databaseSQL> select name,created,log_mode,open_mode from v$database;NAME CREATED LOG_MODE OPEN_…

devtoolset-11 工具集

目录如何安装与使用总结devtoolset-11 是 Red Hat 为 Red Hat Enterprise Linux (RHEL) 及其社区版本 CentOS 等系统提供的一套开发工具集,主要用于在不升级整个系统的情况下,获得并使用更新的编译器及开发工具。 下…

2025 长沙美食餐厅最新推荐排行榜权威发布:红记领衔榜单,协会测评认证湘味品质指南 长沙海鲜店/火锅店/小吃店/长沙宵夜推荐

引言 长沙餐饮市场的烟火气背后,是消费者对品质与地道风味的更高追求。为破解市场同质化、食品安全隐忧等问题,本次榜单由湖南省餐饮行业协会联合美团点评共同打造,参考《餐饮服务食品安全量化分级及示范店评定规范…

基于RNN循环神经网络的锂电池剩余寿命预测Matlab实现 - 教程

基于RNN循环神经网络的锂电池剩余寿命预测Matlab实现 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Conso…

2025年热门的异形工业铝型材,工业铝型材推荐TOP品牌厂家

2025年热门的异形工业铝型材,工业铝型材推荐TOP品牌厂家随着工业4.0时代的深入发展,异形工业铝型材因其轻量化、高强度、耐腐蚀和可回收等优异特性,正成为智能制造、新能源、轨道交通等高端领域的关键材料。2025年,…

day19-API+functioncalling任务回顾+langchain快速入门

虚拟环境创建 创建虚拟环境语法:conda create -n <环境名称> [选项]。 示例:创建一个名为myenv且指定Python版本为3.8的虚拟环境,命令为conda create -n myenv python=3.10。激活虚拟环境激活:使用命令conda…

在nginx中实现回源日志的功能

本文分享自天翼云开发者社区《在nginx中实现回源日志的功能》.作者:尹****聪 nginx中已经提供了访问日志的功能,主要对客户端的访问状态等进行记录,比如响应给客户端的状态码,请求uri,请求协议等。而对于回源(或者…

实用指南:web核心—HTTP

实用指南:web核心—HTTPpre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &q…

杂题记录 3

P5979 [PA 2014] Druzyny 小清新题。暴力转移是简单的,$f_i \leftarrow f_j,j-i\in[\max_{k=i+1}^j c_k,\min_{k=i+1}^j d_k] $,关于 \(\max\) 和偏序的限制不难往 cdq 优化 dp 的方向想。 然后考虑 \([l,mid]\) 向 …

2025年北京工程造价咨询公司权威推荐榜单:工程预算造价/造价咨询甲级/全过程工程咨询源头公司精选

面对北京超过620家的造价咨询企业,六成公司年收入低于5000万元的行业现状,如何精准筛选成为业主的共同挑战。 北京市住建委《2024工程造价咨询统计公报》显示,全市在册工程造价咨询企业超620家,其中甲级资质占比不…

USB 扩展网卡全方位指南:从选购到使用

在无线网络普及的当下,有线网络凭借更稳定的传输速率和更低的延迟,仍是游戏、直播、大型文件传输等场景的首选。而 USB 扩展网卡(又称 USB 千兆网卡、USB 转以太网适配器),则成为解决设备缺少网口、网口损坏或需扩…

2025年评价高的甜酒酿,醪糟甜酒酿推荐TOP品牌厂家

2025年评价高的甜酒酿,醪糟甜酒酿推荐TOP品牌厂家甜酒酿市场概览甜酒酿,又称醪糟、酒酿,是中国传统发酵米制食品,具有悠久的历史和丰富的营养价值。随着健康饮食理念的普及,2025年甜酒酿市场呈现出快速增长态势,消…

基于日志排查邮件投递失败的全过程

在维护邮件系统(如 Postfix、Exim、Sendmail 等)的过程中,邮件投递失败是再常见不过的问题。要有效定位和解决问题,必须从收到的退信或错误提示出发,一步步追踪邮件的完整投递链路和后台日志记录,准确找出失败原…