背景
我们的API允许用户上传大文件,如PDF、JPGs和PNG。最近,我们经历了大量的请求,当服务器已经空闲了一段时间时,就会超时。我们的客户将经历2分钟的等待时间,然后收到500错误消息。
我们使用Azure管理为客户提供文档和访问API。
客户端-> API管理-> Web应用程序
但是,在深入了解之后,很明显,问题在API和我们的Web之间,这正是我们设置SSL证书的地方。
The issue
问题似乎在于发送包含SSL证书的大型POST请求以“唤醒”API使其陷入死锁。我也使用应用程序洞察力对API进行了调试,但似乎任何操作都没有接收到请求。
在调试了一个全新的Web API项目和Web应用程序问题之后,我将其缩小到只有在以下情况下才会发生超时:
为了调试该问题,我设置了以下资源。
Web
我创建了一个全新的项目,ASP.NET Web,Framework4.6。我只添加了一个简单的文件控制器。
using System.Net;
using System.Net.Http;
using System.Web.Http;
namespace DebugCertificate.API.Controllers
{
public class FilesController : ApiController
{
public HttpResponseMessage Post()
{
// Success
return Request.CreateResponse(HttpStatusCode.OK, "Welcome to the POST files resource!");
}
public HttpResponseMessage Get()
{
// Success
return Request.CreateResponse(HttpStatusCode.OK, "Welcome to the GET files resource!");
}
}
}网络应用程序
我设置了一个全新的Azure Web应用程序,并将其配置为以下设置。


使用邮递员复制问题的步骤:
请注意,我甚至不需要发送带有此请求的客户端证书,就会发生此问题。

问题不会发生
可能导致
在诊断Azure中的Web应用程序之后,我发现了这些请求生成的错误。我在谷歌上搜索了这个描述,但是没有找到任何信息来解决我的问题。

我发现了一些听起来类似的东西,但这篇文章听起来像是在客户机和API管理之间,这不是我们设置SSL证书的地方。找绿色提示盒。
我还发现这篇文章包含了一些解决这个问题的方法,但是用额外的请求“启动”API似乎有点麻烦。
当服务器处理大型PUT/POST请求时,HTTPS客户端证书请求冻结
问题
如果需要更多的信息,现在让我来!
发布于 2020-01-29 00:46:20
转到自定义域下的域,单击“代理域名”,然后勾选“协商客户端证书”选项。
如果使用的是消费层,则启用“请求客户端证书”选项。
https://stackoverflow.com/questions/59945532
复制相似问题