我有一个nginx设置,可以将对URL的任何调用重定向到通过uwsgi提供的django应用程序。出于某种原因,一切都适用于页面的根目录,但是一旦我尝试访问任何子路径,我就会收到404错误消息。
示例:
https://my-domain.de/
工作正常,我得到了我想看的索引页。
https://my-domain.de/dashboard/
不起作用,我只从nginx收到404错误。
我尝试了我能够通过Google找到的所有可能的解决方案,现在大约3小时,我完全不知道为什么这不起作用。谁能告诉我我的配置丢失导致这种行为?
系统信息:
django应用程序使用以下命令提供:
uwsgi --socket 127.0.0.1:8000 -b 32768 --file path/to/app/wsgi.py
nginx服务器配置如下所示:
upstream myapp {
server localhost:8000;
}
# Enforce HTTPS
server {
listen 80;
server_name my-domain.de;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
ssl_certificate /etc/ssl/certs/my-domain.de.crt;
ssl_certificate_key /etc/ssl/private/my-domain.de.key;
root /var/www;
index index.html index.htm index.php;
server_name my-domain.de;
underscores_in_headers on;
location = / {
include uwsgi_params;
uwsgi_pass myapp;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ^~ /static/ {
alias /full/path/to/app/static/;
}
}