本地邮递员与 Azure 应用服务的 GRPC 连接问题?

问题描述 投票:0回答:1

我有 GRPC 应用程序,它是我从 Visual Studio 创建并部署到 azure 应用程序服务的。 操作系统#Linux Azure 服务计划是 # S1

网络配置#

在应用程序设置选项卡上,将以下应用程序设置添加到您的应用程序: 名称 = HTTP20_ONLY_PORT 值=8585

当我们尝试使用 azure 应用服务 URL 从 post mane 运行时 #

我们无法连接 GRPC。

azure-web-app-service grpc azure-virtual-network azure-appservice grpc-web
1个回答
0
投票

我使用了这个文档中的代码。

创建 gRPC Web 应用程序后,将其部署到 Azure 应用服务。我可以在 Postman 中看到输出。

程序.cs:

using GrpcService2.Services;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddGrpc();
var app = builder.Build();
app.MapGrpcService<GreeterService>();
app.MapGet("/", () => "To communicate with gRPC, use the client.");
app.Run();

GreeterService.cs

using Grpc.Core;
using GrpcService2;
namespace GrpcService2.Services
{
    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
            });
        }
    }
}

greet.proto

syntax = "proto3";
option csharp_namespace = "GrpcService2";
package greet;
service Greeter {
  rpc SayHello (HelloRequest) returns (HelloReply);
}
message HelloRequest {
  string name = 1;
}
message HelloReply {
  string message = 1;
}

运行 gRPC 应用程序后,我复制了以下 HTTPS URL,因为它是安全连接。

enter image description here

我通过单击 Postman 中的锁定符号来启用 TLS,如下所示。

enter image description here

在 Azure Web App 的环境变量和应用程序设置下,我设置以下值:

Name=HTTP20_ONLY_PORT   Value=5243

如下图。

enter image description here

确保您的价值观如下:

enter image description here

我通过 Visual Studio 成功将应用程序部署到 Azure。

Azure Web App URL 是安全连接,因此您需要启用 TLS,如下所示。

enter image description here

输出

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.