IIS 上的 ASP.NET Core grpc-Web 返回 404

Vin*_*nce 8 grpc asp.net-core grpc-web

.NET Core gRPC-Web 客户端在 http://localhost:5000 上调用 ASP.NET Core gRPC-Web 服务器工作正常。

使用虚拟应用程序(例如“http://build.mycompany.ca/myapp”)调用部署到 IIS 服务器的服务器的相同客户端代码会导致

状态(StatusCode =“未实现”,详细信息=“错误的gRPC响应。HTTP状态代码:404”)

我的 ASP.NET Core 3.1 服务器设置正确。即 app.UseGrpcWeb(new GrpcWebOptions { DefaultEnabled = true });

介于两者之间

app.UseRouting()
Run Code Online (Sandbox Code Playgroud)

app.UseEndpoints(endpoints => {
    endpoints.MapControllers();
    endpoints
        .MapGrpcService<GrpcClientService>()
        .EnableGrpcWeb();
});
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么想法吗?

Vin*_*nce 2

Grpc 客户端仅使用 URI 的主机部分。需要 DelegatingHandler 来重定向到目标主机上的子目录。

https://github.com/grpc/grpc-dotnet/issues/880