【发布时间】:2018-05-08 00:33:30
【问题描述】:
我们的 Django 1.9.6 应用程序在 Docker 容器中运行。 docker 容器配置了 nginx 来提供静态文件。
我们链接到 /admin,它会将我们带到 /admin 页面,但是当我们单击链接时,它会将我们带到 /usr/src/app/admin/api/module/
我可以告诉你 Django 正在 /usr/src/app 目录中运行。
我们尝试将FORCE_SCRIPT_NAME='' 添加到设置中,但没有帮助。
Django 应用通过 Daphne 运行(因为我们使用的是 Channels)
这是我们的 nginx 配置:
server {
listen 80 default_server;
charset utf-8;
# max upload size
client_max_body_size 4G;
# Django media
location /media {
alias /usr/src/app/media;
}
location /static {
alias /usr/src/app/static-collect; - amend as required
}
location / {
proxy_pass http://0.0.0.0:8000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}`
【问题讨论】:
标签: python django nginx daphne