Как настроить nginx для django с gunicorn?
Есть такой файл настроек nginx
:
# Default server configuration
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
# server_name _;
server_name amodule.su www.amodule.su;
# my adding ++
location / {
proxy_pass http://fa052d9c8361.vps.myjino.ru:8001;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
# add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
# add_header Access-Control-Allow-Origin *;
}
# my adding --
}
# Virtual Host configuration for example.com
server {
listen [::]:443 ssl ipv6only=on;
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/amodule.su/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/amodule.su/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name amodule.su www.amodule.su; # managed by Certbot
# my adding ++
location / {
# try_files $uri/ /index.html;
proxy_pass http://fa052d9c8361.vps.myjino.ru:8001;
# proxy_pass http://127.0.0.1:8001;
proxy_set_header Host $host; # ++
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # ++
proxy_set_header X-Forwarded-Proto $scheme; # ++
# add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
# add_header Access-Control-Allow-Origin *;
}
# my adding --
# ssl ubral ++
# listen [::]:443 ssl ipv6only=on; # managed by Certbot
# listen 443 ssl; # managed by Certbot
# ssl_certificate /etc/letsencrypt/live/amodule.su/fullchain.pem; # managed by Certbot
# ssl_certificate_key /etc/letsencrypt/live/amodule.su/privkey.pem; # managed by Certbot
# include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
# ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
# ssl ubral --
}
# ssl ubral ++
server {
if ($host = amodule.su) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80 ;
listen [::]:80 ;
server_name amodule.su www.amodule.su;
return 404; # managed by Certbot
}
# ssl ubral --
Для работы с SSL я использовал Letsencrypt.
Также менял настройки в settings.py
ALLOWED_HOSTS = [
'www.amodule.su',
'amodule.su',
'fa052d9c8361.vps.myjino.ru',
'127.0.0.1',
'localhost',
]
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
SECURE_SSL_REDIRECT = True # redirect all queries to HTTPS
SESSION_COOKIE_SECURE = True # use secure cookies
CSRF_COOKIE_SECURE = True # use secure CSRF cookies
но это не работает..
Что я делаю неправильно?