我正在尝试在作为Azure Web App托管的IdentityServer4实例上配置mTLS终结点。从控制台客户端进行测试时,我不断收到一个Forbidden
HTTP响应,并且在验证为客户端正确配置了证书之后,我很好奇是否需要做任何事情才能使Azure Web App转发证书正确。我已经在我的Startup.cs
中添加了以下代码段(根据Microsoft文档),但实际上似乎并未转发证书。
services.AddCertificateForwarding(options =>
{
options.CertificateHeader = "X-ARR-ClientCert";
options.HeaderConverter = (headerValue) =>
{
X509Certificate2 clientCertificate = null;
if(!string.IsNullOrWhiteSpace(headerValue))
{
byte[] bytes = StringToByteArray(headerValue);
clientCertificate = new X509Certificate2(bytes);
}
return clientCertificate;
};
});
我需要在Azure门户中为此Web应用启用Require incoming certificate
吗?从语义上来说,这似乎不是我想要的,因为我不不想要求所有传入请求的证书。
此外-任何有关调试此类问题的技巧都非常受欢迎。除了HTTP 403响应本身,我没有看到其他任何内容显示在应用程序日志中。