相互 TLS 握手证书错误的 HTTP 错误代码

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

我们正在开发一种集成,允许外部第 3 方也调用我们的 API..

第三方控制我们的 API 应如何响应的治理,并规定当客户端使用丢失、无效或过期的 mTLS 证书进行调用时,我们必须返回 HTTP 403 错误。

请注意,这不是在浏览器场景中。我们在网络调用我们系统公开的 API 端点之外提供了一些描述的技术服务。

我们在 Azure 应用程序网关上实现了 mTLS 侦听器,并观察到其默认行为是返回 400 错误请求。

我们认为这是无法重新配置的,所以我可以检查一下这是一个共识吗?

但更根本的是,我希望了解在这种情况下我们是否应该强调 HTTP 错误代码行业标准方面的挑战。

从根本上来说,在这里发送 403 是错误的,但我很想为这种感觉添加一些证据。

azure azure-application-gateway http-error mtls
1个回答
0
投票

您是对的,在 Azure 应用程序网关上实现 mTLS 时,处理与客户端证书相关的问题(例如证书丢失、无效或过期)的默认行为通常会导致 HTTP 400 错误请求响应。当应用程序网关无法根据 HTTP 响应代码正确协商相互身份验证时,这是应用程序网关的标准行为 - Azure 应用程序网关 |微软学习

在此场景中返回 HTTP 403 Forbidden 状态代码可能不符合标准做法。 HTTP 403状态一般用于表示服务器理解请求但拒绝授权,当客户端证书丢失或无效时则不是这种情况;相反,返回 400 状态更合适,表明由于客户端问题导致错误请求。

参考资料-

© www.soinside.com 2019 - 2024. All rights reserved.