从 Flask 应用程序中访问 SSL 证书信息
Access SSL certificate information from within the Flask application
我正在为一家公司开发一个小型应用程序。
我用 Flask 构建了它,并用 Gunicorn 和 nginx 作为反向代理来提供它。
为了验证登录此应用程序的员工,我们使用客户端 SSL 证书。
虽然 nginx 确实验证了证书,但我需要从 Flask 应用程序中访问证书信息,以便我可以将电子邮件地址输入数据库。
如何将证书信息传递给 Flask 应用程序?
这个问题与
Pass ssl cert information from nginx to flask
但是 OP 使用 uWSGI,我不太理解接受的答案…
您可以通过代理传递您的客户端证书header。在您的 Nginx 服务器配置中添加此行:
proxy_set_header X-SSL-CERT $ssl_client_escaped_cert;
此配置将通过 X-SSL-CERT header 转发客户端证书(urlencoded)。然后,您的 Flask 应用程序可以通过获取此 header.
来访问它
我正在为一家公司开发一个小型应用程序。
我用 Flask 构建了它,并用 Gunicorn 和 nginx 作为反向代理来提供它。
为了验证登录此应用程序的员工,我们使用客户端 SSL 证书。
虽然 nginx 确实验证了证书,但我需要从 Flask 应用程序中访问证书信息,以便我可以将电子邮件地址输入数据库。
如何将证书信息传递给 Flask 应用程序?
这个问题与 Pass ssl cert information from nginx to flask
但是 OP 使用 uWSGI,我不太理解接受的答案…
您可以通过代理传递您的客户端证书header。在您的 Nginx 服务器配置中添加此行:
proxy_set_header X-SSL-CERT $ssl_client_escaped_cert;
此配置将通过 X-SSL-CERT header 转发客户端证书(urlencoded)。然后,您的 Flask 应用程序可以通过获取此 header.
来访问它