2014-10-30 83 views
1

我正在设置REST API以供我公司控制的客户端使用。我已经将它构建在Flask-restless上,并且正在使用uWSGI和nginx进行服务。将SSL证书信息从nginx传递给烧瓶

为了验证客户端和安全我们使用相互SSL证书。所以通信渠道是安全的,客户端提供证书进行认证。

尽管nginx确实验证了我需要从Flask应用程序中访问证书信息的证书,所以我只能授予访问某些端点和/或选择数据的权限。

问题是如何将证书信息传递给Flask应用程序。

+0

我敢打赌,你不能直接这样做。你可以把这个信息放在http请求标题中,但我很确定它不安全。认证用户的方式通常是使用他们的会话。然后,你可以在会议中随心所欲地帮助自己。 – Johnride 2014-10-30 13:49:14

回答

2

修好了!

你只需在nginx conf文件中输出uwsgi_param YOUR_NAME_HERE $variable;

对于我而言,它看起来像这样

uwsgi_param CLIENT_VERIFY $ssl_client_verify; 
uwsgi_param CLIENT_CERT $ssl_client_s_dn;