接收到本地错误tls没有与Azure功能重新协商



我正在尝试与支付服务进行新的集成。计费信息更改后,我应该在Azure功能上收到来自支付服务的回调。服务文档说,他们的请求是用相互tls身份验证的证书签名的。但是webhook回调没有到达我的Azure功能。该服务的支持团队表示,他们所有的请求都以这个错误结束;本地错误:tls:没有重新协商"。

对于测试,我只制作了一个函数来接收请求并将内容发送到Azure服务总线队列:

[FunctionName("Callback")]
public async Task<IActionResult> Callback([HttpTrigger(AuthorizationLevel.Anonymous, "get" , "post" , "put")] HttpRequest req, ILogger log)
{   
string requestBody = await new StreamReader(req.Body).ReadToEndAsync();

try
{
var objeto = JsonConvert.DeserializeObject<object>(requestBody);

ServiceBusClient client = new(Environment.GetEnvironmentVariable("ServiceBusConnectionString"));
ServiceBusSender Sender = client.CreateSender(Environment.GetEnvironmentVariable("QueueName"));

ServiceBusMessage message = new(objeto.ToString());
await Sender.SendMessageAsync(message);
}
catch (Exception e)
{
log.LogError(e, e.Message);
}

return new OkResult();
}

然后发布Azure功能,并将客户端证书模式设置为Require

当我从Postman发出请求时,Function运行得很好,但支付服务提供商得到了tls:没有重新协商错误。

我已经进行了一些搜索,但无法掌握我需要做什么才能正确接收webhook请求。有人能告诉我我缺了什么吗?

我已经按照下面链接中的步骤进行了操作,现在它正在工作:

https://hafizmohammed.medium.com/configuring-client-certificates-on-iis-95aef4174ddb

最新更新