.net core 3.1 cert authentication returns 403 在 Azure 上部署时
.net core 3.1 cert authentication returns 403 when deployed on Azure
我已按照此文档 (https://docs.microsoft.com/en-us/aspnet/core/security/authentication/certauth?view=aspnetcore-3.1) 在我的 .net core 3.1 API 中通过证书实施身份验证。当我在本地主机上调用 API 时一切正常,但是一旦 API 部署在 Azure 上,我就会不断收到错误 403。
我不知道会发生什么,因为日志中没有其他信息。我只是不明白是什么导致 403
据我所知,当我调用 API 路由时,我必须在 "X-ARR-ClientCert" header 中提供证书,该证书在本地工作正常,但似乎没有被解释蔚蓝
我是不是漏掉了什么?我需要在我的应用服务上进行特定设置吗?
正如文章所说,如果向服务器发送了正确的证书,就会返回数据。如果发送 no certificate or the wrong certificate
,则返回 HTTP 403 状态代码。
所以,正如 Bhushan 所说,确认您的证书已上传到 Azure 应用程序服务。
当您为应用程序启用相互身份验证时,应用程序根目录下的所有路径都需要客户端证书才能访问。可以通过选择 Configuration
> General Settings
并定义排除路径来配置排除路径。
更多细节,你可以参考这个article。
我已按照此文档 (https://docs.microsoft.com/en-us/aspnet/core/security/authentication/certauth?view=aspnetcore-3.1) 在我的 .net core 3.1 API 中通过证书实施身份验证。当我在本地主机上调用 API 时一切正常,但是一旦 API 部署在 Azure 上,我就会不断收到错误 403。 我不知道会发生什么,因为日志中没有其他信息。我只是不明白是什么导致 403
据我所知,当我调用 API 路由时,我必须在 "X-ARR-ClientCert" header 中提供证书,该证书在本地工作正常,但似乎没有被解释蔚蓝
我是不是漏掉了什么?我需要在我的应用服务上进行特定设置吗?
正如文章所说,如果向服务器发送了正确的证书,就会返回数据。如果发送 no certificate or the wrong certificate
,则返回 HTTP 403 状态代码。
所以,正如 Bhushan 所说,确认您的证书已上传到 Azure 应用程序服务。
当您为应用程序启用相互身份验证时,应用程序根目录下的所有路径都需要客户端证书才能访问。可以通过选择 Configuration
> General Settings
并定义排除路径来配置排除路径。
更多细节,你可以参考这个article。