2014-10-30 2 views
1

저는 회사가 관리하는 클라이언트가 사용할 REST API를 설정하고 있습니다. 나는 Flask-restless에 그것을 만들었고 uWSGI와 nginx로 그것을 제공하고있다.nginx에서 플라스크까지 ssl cert 정보를 전달하십시오.

클라이언트를 인증하고 보안을 위해 우리는 상호 SSL 인증서를 사용합니다. 따라서 통신 채널은 안전하며 클라이언트는 인증을위한 인증서를 제공합니다.

nginx가 certs의 유효성을 검사하기는하지만 Flask 앱에서 인증서 정보에 액세스해야하므로 일부 끝점 및/또는 데이터를 액세스 할 수 있도록 허용 할 수 있습니다.

질문은 어떻게하면 플라스크 응용 프로그램에 인증서 정보를 전달할 수 있습니다.

+0

내 내기가 직접 그렇게 할 수 있다는 것입니다 같은

내 목적을 위해 보인다. 이 정보를 http 요청 헤더에 넣을 수는 있지만 안전하지는 않습니다. 사용자를 인증하는 방법은 일반적으로 세션을 사용하는 것입니다. 그러면 세션에서 원하는 것을 넣고 자신을 도울 수 있습니다. – Johnride

답변

2

수정 됨!

당신은 uwsgi_param YOUR_NAME_HERE $variable;을 nginx conf 파일로 내 보냅니다. 이

uwsgi_param CLIENT_VERIFY $ssl_client_verify; 
uwsgi_param CLIENT_CERT $ssl_client_s_dn;