当 Azure API 管理和 Web 应用程序使用客户端证书身份验证时,如何支持大请求?

问题描述 投票:0回答:1

客户端证书认证在大请求时出现问题是一个已知问题。

此处的文章描述了两种可能的解决方案:https://learn.microsoft.com/en-us/archive/blogs/waws/posting-a-large-file-can-fail-if-you-enable-client-证书

  1. 首先通过 HEAD 请求建立连接
  2. 设置请求的 Expect: 100-Continue 标头

如果我们使用自己的HTTP客户端,实现起来很容易。但是,如果通过 Azure API 管理调用 Web 应用程序(配置为发送客户端证书)怎么办?有没有办法让 API 管理使用本文中提到的解决方法之一?也许是一些设置或自定义策略?

azure azure-api-management client-certificates
1个回答
0
投票

有两种方法可以使其与 APIM 配合使用:

  1. 建立连接时让您的 Web 应用程序请求证书:https://learn.microsoft.com/en-us/azure/app-service/app-service-web-configure-tls-mutual-auth 这样证书将在发送 HTTP 请求之前由 APIM 提供,并且应该可以缓解问题。副作用是,如果您在浏览器中打开此类 Web 应用程序,浏览器将显示证书请求 UI。
  2. 您可以使用 apim 中的 set-header 策略将后端请求的“Expect”标头设置为“100-continue”值。一般来说,这会影响 API 性能(并非特定于 APIM 的问题),因为客户端在开始有效负载传输之前必须等待显式的 100-Continue 响应。
© www.soinside.com 2019 - 2024. All rights reserved.