nginx 1.13.10新增了对gRPC的支持,本文介绍通过nginx接入grpc服务。
一. nginx版本
$ nginx -V nginx version: nginx/1.15.6 built by clang 10.0.0 (clang-1000.11.45.5) built with OpenSSL 1.0.2p 14 Aug 2018 TLS SNI support enabled --with-http_ssl_module --with-http_v2_module
若源码安装,需指定http2编译选项:--with-http_v2_module
二. grpc负载均衡配置
#grpc服务列表 upstream grpcservs { server 127.0.0.1:80; } server { listen 8080 http2; #配置http2 server_name localhost; #location配置 location /helloworld.Greeter { grpc_pass grpc://grpcservs; } }
三. 测试
设置greeter_client 连接端口为8080。
$ ./greeter_client
Greeter received: Hello world
nginx访问日志:
127.0.0.1 - - [05/Feb/2019:11:01:49 +0800] "POST /helloworld.Greeter/SayHello HTTP/2.0" 200 18 "-" "grpc-c++/1.18.0 grpc-c/7.0.0 (osx; chttp2; goose)" "-"
可见nginx配置生效,通过http2协议通信。
四. 抓包分析
相关推荐
Nginx 1.13.10新增了对gRPC的原生支持。本文介绍如何配置Nginx的gRPC。 安装Nginx Nginx版本要求:1.13.10。 gRPC必须使用HTTP/2传输数据,支持明文和TLS加密数据,支持流数据的交互。这是为了充分利用 HTTP/2 连接...
NGINX使用`grpc_pass`指令来代理gRPC流量,监听gRPC服务并转发请求到后端服务器。配置文件示例中,NGINX监听80端口的未加密gRPC流量,并将其转发到50051端口的服务器。 5. **TLS加密与gRPC**: 对于生产环境,通常...
nginx接入OpenLDAP
**lua-nginx插件详解** lua-nginx模块是Nginx服务器的一个扩展,它为Nginx引入了对Lua脚本语言的支持。这个插件允许开发者在Nginx配置文件中嵌入Lua代码,实现更复杂的逻辑处理和功能增强,从而超越了传统静态配置...
在这个文件中,我们可以指定FastCGI的监听端口、套接字文件等信息。 四、HTTP配置 在HTTP部分,我们首先需要指定MIME类型,使用`include`指令来包含MIME类型的配置文件。在这个文件中,我们可以指定不同的MIME类型...
我们使用的是软负载均衡器Nginx,而农行用的是F5硬负载均衡器,这里简单介绍下这两种技术: a、软件负载均衡解决方案 在一台服务器的操作系统上,安装一个附加软件来实现负载均衡,如Nginx负载均衡(我们...
4. **gRPC与Nginx集成**:了解如何配置Nginx作为gRPC服务的前端代理,以实现负载均衡、SSL/TLS终止、日志记录等功能。 5. **ASP.NET Core上的gRPC**:学习如何在ASP.NET Core 3.1环境中创建gRPC服务,以及如何利用...
Nginx 官方文档中文版知识点总结 Nginx 是一个开源的 Web 服务器软件,可以作为 Web 服务器、反向代理服务器、缓存服务器、负载均衡器和媒体流服务器等。下面是 Nginx 官方文档中文版的知识点总结: 安装和配置 *...
**Nginx与Nginx-RTMP及Nginx-HTTP-FLV模块** Nginx是一款高性能、轻量级的Web服务器/反向代理服务器,被广泛应用于高并发场景,尤其在处理静态文件、HTTP缓存以及反向代理等方面表现出色。Nginx以其高效的事件驱动...
在IT行业中,日志分析是监控和调试应用性能的关键环节,尤其对于Web服务器如Nginx来说更是如此。本文将详细介绍如何使用Loki和Grafana构建一个在线的日志分析系统,该系统基于Docker Compose进行一键部署,极大地...
接下来,我们将配置Nginx以支持HTTPS。你需要准备一对SSL证书和私钥,这里我们假设你已经有了`.crt`和`.key`文件。将它们放置在`/etc/nginx/ssl/`目录下(如果该目录不存在,请创建)。 编辑Nginx的主配置文件`/etc...
arm 架构 docker运行nginx镜像包,arm 架构 docker运行nginx镜像包,arm 架构 docker运行nginx镜像包,arm 架构 docker运行nginx镜像包,arm 架构 docker运行nginx镜像包,arm 架构 docker运行nginx镜像包,arm 架构...
这个名为"nginx-linux-arm64.zip"的压缩包提供的是专为ARM64架构(也称为AArch64)编译的Nginx版本,适用于基于Linux操作系统的64位ARM处理器设备,如树莓派、某些云服务器或嵌入式系统。无需繁琐的编译过程,只需...
接下来,我们来看 Nginx。Nginx 是一个强大的Web服务器,以其高性能、低内存占用和灵活性而闻名。除了作为静态资源服务器,Nginx 也可以作为反向代理和负载均衡器。但在正向代理场景中,Nginx 可以替代 Squid,将...
【标题】: "带nginx-rtmp-module模块的Nginx" 在当今互联网技术日新月异的时代,实时流媒体传输已经成为在线视频分享、直播、远程教育等应用场景不可或缺的一部分。Nginx,作为一款高性能的HTTP和反向代理服务器,...
**Nginx 1.13.3 版本详解** Nginx 是一款高性能的 HTTP 和反向代理服务器,广泛应用于网站托管、负载均衡以及应用程序交付等领域。它以其高效、稳定和轻量级的特性著称,尤其在处理静态内容和高并发请求时表现优秀...
- **protobuf-cpp**:如果要使用gRPC或者相关协议,可能需要protobuf库。 - **OpenID Connect模块**:如果要支持OpenID Connect身份验证,需要相关的库和开发文件。 7. **操作系统兼容性**: - 在不同的Linux...
Nginx Lua 插件则是 SkyWalking 的一部分,它允许你在 Nginx 服务器上集成 SkyWalking 的追踪功能,从而在 Nginx 层面实现对请求流转的全面跟踪。 **1. 概述** Nginx Lua 插件对 SkyWalking 的支持使得 Nginx ...
### Nginx 作为 Apache 和 JBoss 的替代方案 #### 背景介绍 随着互联网技术的不断发展,网站流量的增长对服务器性能提出了更高要求。Apache 和 JBoss 是两种广泛使用的 Web 服务器和应用服务器,但在高并发场景下,...
接下来,你需要编辑 Nginx 的配置文件(通常位于 `/etc/nginx/nginx.conf` 或 `/usr/local/nginx/conf/nginx.conf`),添加对 Nginx Upload Module 的支持。首先备份原配置文件: ```bash sudo cp /etc/nginx/nginx...