azure - 在 Azure 上,带有子状态 72 的 HTTP 403 意味着什么以及如何修复它?

标签 azure azure-api-management client-certificates

我有一个受 TLS 证书保护的应用服务。它在较小的有效载荷下工作得很好,但是在较大的有效载荷下却开始失败。 根据一篇文章,我为 API 管理服务启用了证书协商: https://notetoself.tech/2019/06/13/api-call-with-client-certificate-policy-failing-to-execute-due-to-message-size-on-azure-api-management/

但是,它仍然随机失败,并出现证书协商错误,如下所示:

Azure certificate negotiation error

重要 - 我不想在浏览器 <-> API 管理之间使用客户端身份验证。我仅在 API 管理 <-> 应用服务之间使用它。

我找不到有关此子状态 72 代码的任何信息。这是什么意思?可以修复吗? Azure 客户端证书身份验证是否已损坏且无法处理大负载?

最佳答案

“协商客户端证书”复选框在这里没有帮助,因为这是用于客户端和您的 apim 服务之间的相互身份验证,而您的问题是在 apim 和应用程序服务之间。您的应用服务应强制 apim 在初始 SSL 握手期间交换客户端证书,而不是等到需要时才交换。

此问题与 azure 无关,请参阅此 https://techcommunity.microsoft.com/t5/networking-blog/https-client-certificate-request-freezes-when-the-server-is/ba-p/339672

对我的问题描述或至少对我的理解与错误代码不匹配,因为 17 子状态代码意味着客户端证书已过期或尚未有效。

查看此https://www.google.com/search?q=403.17+http+code&oq=403.17+http+code&aqs=chrome..69i57.9265j0j7&client=ms-android-samsung-gn-rev1&sourceid=chrome-mobile&ie=UTF-8

还有这个https://techcommunity.microsoft.com/t5/iis-support-blog/client-certificate-revisited-how-to-troubleshoot-client/ba-p/348053

关于azure - 在 Azure 上,带有子状态 72 的 HTTP 403 意味着什么以及如何修复它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71397610/

相关文章:

git - 无法通过 Git 在 azure 上部署静态网站

Azure API 管理

azure - 如何在 Application Insights 中跨多个 Azure 服务关联单个请求?

python - 将 $ssl_client_s_dn 从 nginx/uwsgi 传递到 flask app

azure - 在 Azure 中的同一云服务中托管 MVC 前端和 WebAPI 后端

node.js - Node.js 中的 Azure Function 和共享文件

azure - 在 Azure API 管理中,我可以使用订阅 key 作为请求 header 的一部分而不是查询字符串参数吗?

ssl - Jboss 应用程序策略在具有 PBESecurityDomain 的相互/客户端证书身份验证中被忽略

ssl - 具有自定义域的 Bluemix Cloud Foundry 应用程序使用 bluemix 证书

azure - 寻找在业务应用程序上下文中监视 Azure 资源的可能性,而不仅仅是孤岛中的资源。有什么建议么?