微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么 grpc 在 IIS 上响应 403

如何解决为什么 grpc 在 IIS 上响应 403

我正在尝试使用 gRPC 在我在 asp.net 核心中构建的后端应用程序之间进行通信。 当我离线试用我的应用程序时,它工作正常,并且每个请求都会得到响应 问题是当我将服务器应用程序上传到 IIS 并尝试发送它以 403 错误 gRPC 响应响应的请求

我的代码很简单,现在我只是在弄乱asp核心中已经制作的示例。 这是我的问候服务

   function detect_sentiment($string){
      $string = urlencode($string);
      $api_key = "< api key >";
      $url = 'https://api.paysify.com/sentiment?api_key='.$api_key.'&string='.$string.'';
      $ch = curl_init();
      curl_setopt($ch,CURLOPT_URL,$url);
      curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
      curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
      
      $result = curl_exec($ch);
      $response = json_decode($result,true);
      curl_close($ch);
      return $response;
   }
      
  print_r(detect_sentiment("I love this product"));

这是原始文件

 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;
}

有人知道为什么会这样吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。