Nginx в качестве обратного прокси-сервера Django Gunicorn возвращает 400 плохих запросов - PullRequest
0 голосов
/ 01 февраля 2019

Я пытаюсь использовать nginx в качестве обратного прокси-сервера для приема входящих вызовов, затем, в зависимости от имени_сервера, перенаправить эти вызовы на разные компьютеры (хосты), используя nginx Django и Gunicorn.До сих пор я пробовал разные конфигурации для файла conf на хосте, но ни одна из них не работает.Что-то не так с моими conf-файлами?

Это nginx.conf в 192.168.0.13, который будет работать как обратный прокси:

server {
  listen 80;
  server_name www.coding.test;

  location / {
        proxy_pass http://192.168.0.8:80;
        proxy_redirect     off;
        # app1 reverse proxy follow
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}

Это nginx.conf в 192.168.0.8, предназначенный для запуска приложения django:

upstream django {
    server unix:///home/pi/coding-in-dfw/mysocket.sock fail_timeout=0;
}

server {
    listen 80 default_server;
    server_name www.coding.test

    client_max_body_size 4G;

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    location /static/ {
        alias   /home/pi/coding-in-dfw/static/;
    }

    location /media/ {
        alias   /home/pi/coding-in-dfw/media/;
    }

    # Finally, send all non-media requests to the Django server.
    location / {
         uwsgi_pass  django;
         include     /etc/nginx/uwsgi_params; # the uwsgi_params file you installed
     }
     location /.well-known {
         alias /home/pi/coding-in-dfw/.well-known;
     }
}

Наконец, я использую gunicorn:

gunicorn --workers 5 --bind unix:///home/pi/coding-in-dfw/mysocket.sock codingindfw.wsgi:application && sudo service nginx restart

Любая помощь приветствуется.

...