Как установить обратный прокси Django на поддомен
Я пытаюсь использовать Nginx для обратного проксирования некоторых приложений на разные поддомены, проблема в том, что когда я пытаюсь сделать это с приложением Django, это не работает хорошо, я получаю сообщение, что путь не существует или 404 Страница не найдена.
это часть моего docker-compose.yaml
version: "3.9"
services:
ww4api:
build: .
hostname: ww4api
command: gunicorn --bind 0.0.0.0:8000 authApi.wsgi --workers=4
depends_on:
- db
- orion
restart: always
container_name: ww4api
environment:
- WW4API_ALLOWED_HOSTS=ww4,ww4api,localhost
ports:
- 8000:8000
volumes:
- .:/app
pgadmin:
container_name: pgadmin
image: dpage/pgadmin4
hostname: pgadmin
restart: always
depends_on:
- timescale
environment:
- PGADMIN_LISTEN_PORT=5050
nginx:
hostname: nginx
build: settings/nginx
restart: always
ports:
- 80:80
- 434:434
tty: true
volumes:
- ./data-models/context:/srv/ww4/context
- ./syncthingFolder/Sync:/srv/ww4/projects
- ./:/srv/ww4
networks:
- default
и это часть моего nginx.config
worker_processes auto;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
server_tokens off;
upstream ww4api {
server ww4api:8000;
}
upstream mintaka {
server mintaka:8080;
}
server {
listen 80;
root /srv/ww4;
index index.html;
keepalive_timeout 1s;
keepalive_requests 5000;
location / {
try_files $uri $uri/ =404;
}
location /pgadmin4/ {
resolver 127.0.0.11 ipv6=off;
proxy_pass http://pgadmin:5050/;
proxy_set_header X-Script-Name /pgadmin4;
proxy_set_header X-Scheme $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
add_header 'Access-Control-Allow-Origin' '*';
proxy_read_timeout 600s;
proxy_send_timeout 600s;
}
location /ww4/ {
proxy_pass http://ww4api;
proxy_set_header X-Script-Name /ww4;
proxy_set_header X-Scheme $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect http://localhost/ww4/ http://$host/ww4/;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
add_header 'Access-Control-Allow-Origin' '*';
proxy_read_timeout 600s;
proxy_send_timeout 600s;
}
}
}