I've developed an application with python (Django) that was using Nginx as server. the application is authenticating users with ssl client certificate, i achieved it Using nginx server and the following configuration:
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/;
}
Then inside the django app i got extra headers when using SSL.
After i was done developing, I deployed my application to heroku just to find out that heroku is doing SSL Termination itself and doesn't pass certificate. Searching online gave me only to a conclusion that i cannot achieve this with heroku.
So as i see it i have few options:
- Find a PaaS that handles the SSL Termination AND give me headers
- Find a PaaS that will let me handle SSL myself in either way i need to find a new PaaS Provider
- Find a Provider that will give me only the SSL Termination i need then proxy_pass will send the request to my heroku site but with the extra headers..
Any recommendations of such a provider? if i can find such a provider that gives me free package while still in developing phase that's a big plus for me..
Thanks alot for helpers!