nginx Страница не перенаправляется должным образом, как исправить?

#nginx

#nginx

Вопрос:

мой nginx conf, цель сделать все не https на https, а с www на не www, сделать с помощью нескольких руководств, у меня это все время получалось

Страница перенаправляется неправильно

Произошла ошибка во время подключения к example.com .

Иногда эта проблема может быть вызвана отключением или отказом принимать файлы cookie.

.

 server {
    listen 80;
    server_name "~^www.(.*)$" ;
    return 301 https://example.com$request_uri ;

}

server {
    listen 443 ssl;
    server_name www.example.com;
    ssl_certificate pathto/fullchain.pem;
    ssl_certificate_key pathto/privkey.pem;

    return 301 https://example.com$request_uri;
}

server {

    listen 443 ssl;
    server_name example.com;
 
    ssl on;
    ssl_certificate pathto/fullchain.pem;
    ssl_certificate_key pathto/privkey.pem;
    ssl_trusted_certificate pathto/chain.pem;

    ssl_stapling on;
    ssl_stapling_verify on;

    add_header Strict-Transport-Security "max-age=31536000";

    add_header X-Frame-Options "SAMEORIGIN";
    
    client_max_body_size 4G;

    location /static/ {
        alias   /asd/ads/static/;
    }
    
    location /media/ {
        alias   /asd/ads/media/;
    }


    location / {

        include proxy_params;
        proxy_pass http://unix:/run/gunicorn.sock;

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_set_header X-Forwarded-Proto https;

        proxy_redirect off;


    }


}
  

Похоже, что ваш пост в основном состоит из кода; пожалуйста, добавьте еще несколько деталей.

Комментарии:

1. Я думаю, что ваш proxy_pass неверный, попробуйте proxy_pass unix:/run/gunicorn.sock; (без http:// )

2. @ranisalt если задано без http, это дает мне 502, если добавить https то же самое

3. теперь я оставил только один сервер и получил такой же, но до того, как я установил предыдущие два сервера, все было в порядке, сайт работает

Ответ №1:

я удаляю из своих настроек django

 SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
SECURE_SSL_REDIRECT = True
SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True
  

И это работает!!!