c# - 为什么 grpc 在 IIS 上以 403 响应
问题描述
我正在尝试使用 gRPC 在我在 asp.net 核心中构建的后端应用程序之间进行通信。当我离线尝试我的应用程序时,它工作正常并且我得到每个请求的响应问题是当我将服务器应用程序上传到 IIS 并尝试发送一个请求它响应 403 bad gRPC response
我的代码很简单现在我只是在搞乱asp核心中已经制作的例子。这是我的问候服务
public class GreeterService : Greeter.GreeterBase
{
private readonly ILogger<GreeterService> _logger;
public GreeterService(ILogger<GreeterService> logger)
{
_logger = logger;
}
public override Task<HelloReply> SayHello(HelloRequest request, ServerCallContext context)
{
return Task.FromResult(new HelloReply
{
Message = "Hello " + request.Name
});
}
}
这是原型文件
syntax = "proto3";
option csharp_namespace = "GrpcService1";
package greet;
// The greeting service definition.
service Greeter {
// Sends a greeting
rpc SayHello (HelloRequest) returns (HelloReply);
}
// The request message containing the user's name.
message HelloRequest {
string name = 1;
}
// The response message containing the greetings.
message HelloReply {
string message = 1;
}
这是发送请求的客户端
static async Task Main(string[] args)
{
// The port number(5001) must match the port of the gRPC server.
using var channel = GrpcChannel.ForAddress("https://grpc.something.com");
var client = new Greeter.GreeterClient(channel);
var reply = await client.SayHelloAsync(
new HelloRequest { Name = "GreeterClient" });
Console.WriteLine("Greeting: " + reply.Message);
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
有人知道为什么会这样吗?
解决方案
推荐阅读
- typescript - 如何从工会中删除?
- c# - 在 C# 中的表单之间传递多张图片
- aws-lambda - AWS Lambda:CORS错误相同的路径但带有参数
- c# - 使用 Npgsql 将 PostgreSQL 与 ASP.NET MVC 连接起来
- r - 在匿名函数中将对象名称转换为 tidyverse 链中的字符串
- elasticsearch - elasticsearch映射问题:解析字段失败
- mongodb - 使用随机值更新 mongodb 中的许多字段
- javascript - 以更好的方式编写 javascript 函数
- java - Java - 如何从 MongoDatabase 类获取 DB 对象,因为 MongoClient.getDB(dbName) 已弃用
- html - CSS 动画中的连续文本