`
tcspecial
  • 浏览: 912566 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

nginx 接入gRPC

阅读更多

 

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协议通信。

 

四. 抓包分析

200 ok

 

 

 

 

 

 

 

  • 大小: 193.6 KB
分享到:
评论

相关推荐

    Nginx配置代理gRPC的方法

    Nginx 1.13.10新增了对gRPC的原生支持。本文介绍如何配置Nginx的gRPC。 安装Nginx Nginx版本要求:1.13.10。 gRPC必须使用HTTP/2传输数据,支持明文和TLS加密数据,支持流数据的交互。这是为了充分利用 HTTP/2 连接...

    NGINX 宣布支持 gRPC,可在下个版本 1.13.10 中使用1

    NGINX使用`grpc_pass`指令来代理gRPC流量,监听gRPC服务并转发请求到后端服务器。配置文件示例中,NGINX监听80端口的未加密gRPC流量,并将其转发到50051端口的服务器。 5. **TLS加密与gRPC**: 对于生产环境,通常...

    nginx接入OpenLDAP

    nginx接入OpenLDAP

    lua-nginx插件

    **lua-nginx插件详解** lua-nginx模块是Nginx服务器的一个扩展,它为Nginx引入了对Lua脚本语言的支持。这个插件允许开发者在Nginx配置文件中嵌入Lua代码,实现更复杂的逻辑处理和功能增强,从而超越了传统静态配置...

    Nginx完整配置说明

    在这个文件中,我们可以指定FastCGI的监听端口、套接字文件等信息。 四、HTTP配置 在HTTP部分,我们首先需要指定MIME类型,使用`include`指令来包含MIME类型的配置文件。在这个文件中,我们可以指定不同的MIME类型...

    负载均衡器技术Nginx和F5的优缺点对比

     我们使用的是软负载均衡器Nginx,而农行用的是F5硬负载均衡器,这里简单介绍下这两种技术:  a、软件负载均衡解决方案  在一台服务器的操作系统上,安装一个附加软件来实现负载均衡,如Nginx负载均衡(我们...

    3gRPC.rar3gRPC.rar3gRPC.rar

    4. **gRPC与Nginx集成**:了解如何配置Nginx作为gRPC服务的前端代理,以实现负载均衡、SSL/TLS终止、日志记录等功能。 5. **ASP.NET Core上的gRPC**:学习如何在ASP.NET Core 3.1环境中创建gRPC服务,以及如何利用...

    nginx官方文档中文版

    Nginx 官方文档中文版知识点总结 Nginx 是一个开源的 Web 服务器软件,可以作为 Web 服务器、反向代理服务器、缓存服务器、负载均衡器和媒体流服务器等。下面是 Nginx 官方文档中文版的知识点总结: 安装和配置 *...

    nginx带nginx-http-flv模块windows编译版rtmp

    **Nginx与Nginx-RTMP及Nginx-HTTP-FLV模块** Nginx是一款高性能、轻量级的Web服务器/反向代理服务器,被广泛应用于高并发场景,尤其在处理静态文件、HTTP缓存以及反向代理等方面表现出色。Nginx以其高效的事件驱动...

    基于loki+grafana的在线nginx日志分析系统

    在IT行业中,日志分析是监控和调试应用性能的关键环节,尤其对于Web服务器如Nginx来说更是如此。本文将详细介绍如何使用Loki和Grafana构建一个在线的日志分析系统,该系统基于Docker Compose进行一键部署,极大地...

    centos8 nginx1.20.1 与nginx配置文件

    接下来,我们将配置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 架构 docker运行nginx镜像包,arm 架构...

    nginx arm64版本nginx-linux-arrch64.zip

    这个名为"nginx-linux-arm64.zip"的压缩包提供的是专为ARM64架构(也称为AArch64)编译的Nginx版本,适用于基于Linux操作系统的64位ARM处理器设备,如树莓派、某些云服务器或嵌入式系统。无需繁琐的编译过程,只需...

    squid和nginx配置正向代理访问API接口.rar

    接下来,我们来看 Nginx。Nginx 是一个强大的Web服务器,以其高性能、低内存占用和灵活性而闻名。除了作为静态资源服务器,Nginx 也可以作为反向代理和负载均衡器。但在正向代理场景中,Nginx 可以替代 Squid,将...

    带nginx-rtmp-module模块的Nginx

    【标题】: "带nginx-rtmp-module模块的Nginx" 在当今互联网技术日新月异的时代,实时流媒体传输已经成为在线视频分享、直播、远程教育等应用场景不可或缺的一部分。Nginx,作为一款高性能的HTTP和反向代理服务器,...

    nginx-1.13.3,nginx1.13.3不存在信息泄漏漏洞安全稳定nginx版本

    **Nginx 1.13.3 版本详解** Nginx 是一款高性能的 HTTP 和反向代理服务器,广泛应用于网站托管、负载均衡以及应用程序交付等领域。它以其高效、稳定和轻量级的特性著称,尤其在处理静态内容和高并发请求时表现优秀...

    Nginx软件依赖包

    - **protobuf-cpp**:如果要使用gRPC或者相关协议,可能需要protobuf库。 - **OpenID Connect模块**:如果要支持OpenID Connect身份验证,需要相关的库和开发文件。 7. **操作系统兼容性**: - 在不同的Linux...

    nginx lua插件对skywalking支持用户手册(1).docx

    Nginx Lua 插件则是 SkyWalking 的一部分,它允许你在 Nginx 服务器上集成 SkyWalking 的追踪功能,从而在 Nginx 层面实现对请求流转的全面跟踪。 **1. 概述** Nginx Lua 插件对 SkyWalking 的支持使得 Nginx ...

    nginx替代方案,nginx代替apache与jboss

    ### Nginx 作为 Apache 和 JBoss 的替代方案 #### 背景介绍 随着互联网技术的不断发展,网站流量的增长对服务器性能提出了更高要求。Apache 和 JBoss 是两种广泛使用的 Web 服务器和应用服务器,但在高并发场景下,...

    nginx上传下载之nginx-upload-module-2.3.0

    接下来,你需要编辑 Nginx 的配置文件(通常位于 `/etc/nginx/nginx.conf` 或 `/usr/local/nginx/conf/nginx.conf`),添加对 Nginx Upload Module 的支持。首先备份原配置文件: ```bash sudo cp /etc/nginx/nginx...

Global site tag (gtag.js) - Google Analytics