Устанавливаю связку nginx && gunicorn && django.
Взял сертификаты от lets'n'crypt.
Настраиваю nginx по образцу. При заходе на сайт через http, появляется ошибка:
400 The plain HTTP request was sent to HTTPS port
при заходе на HTTPS, всё ок. Как сделать перенаправление на HTTPS или поправить ошибку?
конфиг такой:
upstream app_server {
server unix:/tmp/gunicorn_ugoal.sock fail_timeout=0;
}
server {
listen 80;
server_name localhost www.localhost;
return 301 https://$server_name$request_uri;
}
server {
listen 443 default ssl;
ssl_certificate ###;
ssl_certificate_key ###;
server_name server_name localhost www.localhost;
root /home/web;
location / {
try_files $uri @proxy_to_app;
}
location @proxy_to_app {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://app_server;
}
error_page 500 502 503 504 /500.html;
location = /500.html {
root /home/web;
}
}