nginx反向代理.NetCore开发的基于WebApi创建的gRPC服务

本文介绍了如何使用Nginx 1.25.5反向代理基于.NET Core 8.0和ASP.NET Core WebApi开发的gRPC服务。首先讲述了gRPC和Kestrel服务器的基础知识,接着详细描述了创建gRPC服务和客户端的步骤,包括protobuf文件、证书生成、服务发布等。最后,通过配置nginx.conf实现gRPC反向代理,解决502错误问题,确保客户端可以通过nginx顺利访问gRPC服务。
摘要由CSDN通过智能技术生成

一、本文中使用的工具:

Vs2022使用.NET 8.0开发基于ASP.NET Core WebApi的gRPC服务;

Nginx:1.25.5,下载地址:http://nginx.org/en/download.html  

二、gRPC介绍:

由 google 开发,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统。在vs2022中可以直接创建gRPC服务,并使用Kestrel运行。

三、Kestrel web服务介绍:

Kestrel 是一个跨平台的Web服务器,会默认在ASP.NET Core 项目模板中对其进行配置。未使用 IIS 托管时,ASP.NET Core 项目模板默认使用 Kestrel。Kestrel是.NetCore的一个中间件,其运行在dotnet进程上。

四、创建基于Asp.Net Core WebApi的gRPC服务

  1. 在VS2022中使用默认模板创建Asp.Net Core WebApi的项目WebApiGrpcService;
  2. 在NuGet包中,添加Grpc.AspNetCore;
  3. 在WebApi工程中创建gRPC服务的相关文件:proto文件和service类型

 order.proto的内容

syntax = "proto3";

option csharp_namespace = "WebApiGrpcService.Protos";

package order;

// 订单服务定义
service Order {
  // 创建订单
  rpc CreateOrder (CreateRequest) returns (CreateResult);
  //查询订单
  rpc QueryOrder (QueryRequest) returns (QueryResult);
}

//创建订单请求参数
message CreateRequest {
  string orderNo = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值