ssl - 特定域的多个 SSL 证书 - Flask

标签 ssl flask

我有一个目录来存储证书,并将域及其 SSL 证书路径存储在数据库中

例如我有:

certs_dir:
   - localhost1.pem
   - localhost1.key
   - localhost2.pem
   - localhost2.key

我有 2 个不同的域,例如 localhost1/indexlocalhost2/index,它们都托管在同一个 Flask 应用程序上

我希望每个域都使用它自己的使用 Flask 的 SSL

有可能吗?如果是,那么如何?

我不想使用 ssl_context 运行我的 flask 应用程序,我想在我的中间件中查找路由的 SSL 证书并决定在响应时将哪个证书用于此请求

最佳答案

TLS 握手,并因此选择要显示的证书,发生在任何 HTTP 交换之前。

只有在 HTTP 交换步骤中,完整的 URL 才会在客户端之间交换。在此之前,在 TLS 握手期间,客户端仅发送(通过 TLS SNI 扩展)它尝试联系的服务器的主机名

因此,服务器只能根据请求的主机名来决定将哪个证书发送回客户端。

所以,不,你的情况只有 URL 中的本地路径发生变化(就像问题的原始版本的情况一样:localhost/cert1 vs localhost/cert2) 不能激发单独的证书。如果您使用不同的主机名,您可以这样做:realm1.example.comrealm2.example.com

关于ssl - 特定域的多个 SSL 证书 - Flask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56943432/

相关文章:

python flask 登录: current_user keep anonymous

python - 如何在 Gunicorn 工作人员之间共享缓存?

python - 如何在 flask 中设置 session 限制?

python - 使用 Flask 获取 URL 片段标识符

python - 如何告诉 flask-admin 在显示外键字段时使用替代表示?

ssl - 在 Websphere Liberty 中配置多个出站 SSL 设置?

PHP WebHook Telegram Bot - SSL CloudFlare

c - 使用 CyaSSL Keygen 时出现段错误

Android SSL 错误 : certificate not trusted…sometimes

ssl - 带有 HTTPS Nginx 入口 Controller 的 HAProxy LoadBalancer