I want to setup ssl for nginx, my project is a django and i also use gunicorn as wsgi http server. I add following lines in my settings.py code :
CSRF_COOKIE_SECURE = True
SESSION_COOKIE_SECURE = True
I don't know if it's necessary to do this, then i configure my nginx in the following form:
upstream app_server {
server 127.0.0.1:6000; // your gunicorn server
}
server {
listen 80;
server_name <name>;
return 301 https://$host$request_uri;
}
server {
#listen 80;
listen 443 default ssl;
client_max_body_size 4G;
server_name <name>;
#ssl on;
ssl_certificate /etc/nginx/ssl/ssl.crt;
ssl_certificate_key /etc/nginx/ssl/ssl.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
keepalive_timeout 5;
# path for static files
root /home/deploy/;
location /static/ {
}
location /media/ {
}
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header Host $host;
proxy_pass http://app_server;
}
error_page 500 502 503 504 /500.html;
location = /500.html {
root /home/deploy/static;
}
}
nginx configure is correct i think because its redirect 80 to 443,but nothing happens, 80 request sent, then nginx redirect it to 443, but nothing happend, it can't connect to gunicorn or project.
what is the problem of my nginx? my nginx version nginx/1.0.15. i almost see al related topics and according to them my configuration is correct. can any one help me? should i do something with gunicorn? my certificate is self-signed, or what should i do?
regards :)