#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
И это работает!!!