具有SSL客户端证书验证的PaaS

时间:2013-09-11 20:52:17

标签: django authentication ssl heroku nginx

我开发了一个使用Nginx作为服务器的python(Django)应用程序。 应用程序使用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_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 app中,我在使用SSL时获得了额外的标题。

在我完成开发之后,我将我的应用程序部署到heroku只是为了发现heroku本身正在进行SSL终止并且没有通过证书。 在线搜索只给我一个结论,我无法通过heroku实现这一目标。

所以我看到它的选择很少:

  1. 查找处理SSL终止并为我提供标题的PaaS
  2. 找一个让我自己处理SSL的PaaS,我需要找到一个新的PaaS提供商
  3. 找到一个只提供我需要的SSL终止的提供商,然后proxy_pass会将请求发送到我的heroku网站,但附加标题..
  4. 此类提供商的任何建议? 如果我能找到这样一个提供给我免费套餐的提供商,同时还处于开发阶段,这对我来说是一个很大的优势..

    非常感谢帮助者!

0 个答案:

没有答案