Как правильно настроить nginx с помощью gunicorn и склянки? - PullRequest
0 голосов
/ 02 января 2019

Я использую сервер gunicorn на http://ip:8000. У меня есть сервер nginx на той же машине, который прослушивает http://ip:8080.

Когда я получаю доступ к http://ip:8000 (gunicorn)напрямую, не заходя через nginx, я не получаю никакой ошибки.Мое веб-приложение работает нормально.

Но когда я открываю http://ip:8080 (nginx), открывается первая страница входа в мое приложение.Но однажды я дам имя пользователя и пароль.Он вызывает ошибку CORS:

Access to XMLHttpRequest at 'http://ip:8000/login' from origin 'http://ip:8080' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Когда я добавляю следующий код в код своей колбы, он не выдает ошибку CORS, но теперь возникает новая проблема.Как только я ввожу имя пользователя и пароль, он позволяет мне войти в систему, а затем перенаправляет меня обратно на страницу входа, а URL-адрес в адресной строке меняется на "http://ip:8000/login", который является адресом сервера оружейного оружия.

from flask_cors import CORS
CORS(app)

Мой файл nginx conf выглядит так:

server{
    listen 8080;
    server_name ip;
    root /path/to/root;
    access_log /path/to/access.log;
    error_log /path/to/error.log;
    location /{
            proxy_pass http://ip:8000;
            add_header 'Access-Control-Allow-Origin' "$http_origin";
            add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, DELETE, PUT';
            add_header 'Access-Control-Allow-Credentials' 'true';
            add_header 'Access-Control-Allow-Headers' 'User-Agent,Keep-Alive,Content-Type';
            proxy_set_header Host  $host:$server_port;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_redirect off;
            proxy_set_header X-Forwarded-Proto $scheme;
            }
    }

Может кто-нибудь помочь мне решить эту проблему?

...