我正在考虑使用 FastAPI 框架来实现相当简单的 API,但它需要支持 mTLS。AFAIK FastAPI 基于 Starlette。是否可以在 Starlette 中检查客户证书?
问问题
1754 次
不,根据Starlette 文档,您可以使用HTTPSRedirectMiddleware强制使用 https,但Starlette中没有原生实现证书验证。
您可以自己重新实现证书验证,但这会很脏……在我看来,最好的办法是直接在网络服务器或中间件上处理证书验证。
您可以使用uwsgi来处理客户端证书身份验证或(重新)使用Flask + Gunicorn实现您的 api ,这将允许您进行客户端证书验证。(例如这里)