在 ASP.NET Core gRPC 的客户端代码中添加以下代码来忽略证书验证:
AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true);
var channel = GrpcChannel.ForAddress("https://grpc.example.com",
new GrpcChannelOptions
{
HttpHandler = new HttpClientHandler
{
ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator
}
});
注意:这种做法会将证书验证的责任转移到代码中,存在安全风险,请慎重使用。更好的解决方法是修复服务器端证书配置,以使其符合验证要求。