У меня два сайта:
1. foo.site.com
2. bar.site.com
Первый работает на Django, а второй на Flask. Я настроил конфиги, но почему-то запросы на второй сайт попадают на первый и выдает ошибку
Bad Request (400). Если на конфигурацию Django приложения добавить bar.site.com в ALLOWED_HOSTS, то ошибка 400 пропадает и вместо этого появляется Not Found, хотя у обоих разные порты :)
foo.site.com
Конфиг NGINX
upstream foo{
server 127.0.0.1:8001 fail_timeout=0;
}
server {
server_name foo.site.com;
client_max_body_size 100M;
access_log /var/log/nginx/foo.log;
error_log /var/log/nginx/foo_error.log;
location / {
proxy_ignore_client_abort on;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://foo;
}
}
Конфиг Gunicorn
command='/home/www/code/django/foo-django/env/bin/gunicorn'
pythonpath='/home/www/code/django/foo-django/foo'
bind='127.0.0.1:8001'
workers=7
timeout=300
user='www'
loglevel='debug'
accesslog='/home/www/code/django/foo-django/foo/logs/gunicorn_access.log'
accesslogformat="%(h)s %(l)s %(u)s %(t)s %(r)s %(s)s %(b)s %(f)s %(a)s"
errorlog='/home/www/code/django/foo-django/foo/logs/gunicorn_error.log'
raw_env='DJANGO_SETTINGS_MODULE=foo.settings'
Скрипт для Gunicorn
#!/bin/bash
source /home/www/code/django/foo-django/env/bin/activate
exec gunicorn -c "/home/www/code/django/foo-django/gunicorn/gunicorn_config.py" foo.wsgi
Конфиг Supervisor
[program:www_gunicorn_foo]
command=/home/www/code/django/foo-django/bin/start_gunicorn.sh
user=www
process_name=%(program_name)s
numprocs=1
autostart=true
autorestart=true
redirect_stderr=true
---
bar.site.com
Конфиг NGINX
upstream bar{
server 127.0.0.1:8002 fail_timeout=0;
}
server {
server_name bar.site.com;
client_max_body_size 100M;
access_log /var/log/nginx/bar.log;
error_log /var/log/nginx/bar_error.log;
location / {
proxy_ignore_client_abort on;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://bar;
}
}
Конфиг Gunicorn
command='/home/www/code/flask/bar/venv/bin/gunicorn'
pythonpath='/home/www/code/flask/bar/admin'
bind='127.0.0.1:8002'
workers=7
timeout=300
user='www'
loglevel='debug'
accesslog='/home/www/code/flask/bar/logs/gunicorn_access.log'
acceslogformat="%(h)s %(l)s %(u)s %(t)s %(r)s %(s)s %(b)s %(f)s %(a)s"
errorlog='/home/www/code/flask/bar/logs/gunicorn_error.log'
Скрипт для Gunicorn
#!/bin/bash
source /home/www/code/flask/bar/venv/bin/activate
exec gunicorn -c "/home/www/code/flask/bar/admin/gunicorn/gunicorn_config.py" wsgi:app
Конфиг Supervisor
[program:www_gunicorn_bar]
directory=/home/www/code/flask/bar/admin
command=/home/www/code/flask/bar/admin/bin/start_gunicorn.sh
user=www
process_name=%(program_name)s
numprocs=1
autostart=true
autorestart=true
redirect_stderr=true
Что я делаю не так?