Django 带有SSL客户端证书验证的PaaS
我用python(Django)开发了一个应用程序,它使用Nginx作为服务器。 应用程序正在使用ssl客户端证书对用户进行身份验证, 我使用nginx服务器和以下配置实现了它:Django 带有SSL客户端证书验证的PaaS,django,authentication,ssl,heroku,nginx,Django,Authentication,Ssl,Heroku,Nginx,我用python(Django)开发了一个应用程序,它使用Nginx作为服务器。 应用程序正在使用ssl客户端证书对用户进行身份验证, 我使用nginx服务器和以下配置实现了它: location / { proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Forwarded-For $remote_addr; proxy_se
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Ssl-Authenticated $ssl_client_verify;
proxy_set_header X-Ssl-User-Dn $ssl_client_s_dn;
proxy_pass_header Server;
proxy_redirect off;
proxy_connect_timeout 10;
proxy_read_timeout 10;
proxy_pass http://localhost:8000/;
}
然后在django应用程序中,当使用SSL时,我得到了额外的头
在完成开发之后,我将应用程序部署到heroku,只是为了发现heroku本身正在进行SSL终止,并且没有通过证书。
在线搜索给了我一个结论,我无法用heroku实现这一点
因此,在我看来,我几乎没有选择:
非常感谢您的帮助 我相信,关于heroku的SSL终止问题,您是对的,并且有官方的答案。我相信您只需寻找另一台主机以这种方式实现它,或者在应用程序层进行身份验证。