nginx& uwsgi没有重定向到子路径,获得404

时间:2016-10-27 23:58:01

标签: python django nginx uwsgi

我有一个nginx设置,可以将对URL的任何调用重定向到通过uwsgi提供的django应用程序。出于某种原因,一切都适用于页面的根目录,但是一旦我尝试访问任何子路径,我就会收到404错误消息。

示例:

https://my-domain.de/

工作正常,我得到了我想看的索引页。

https://my-domain.de/dashboard/

不起作用,我只从nginx收到404错误。

我尝试了我能够通过Google找到的所有可能的解决方案,现在大约3小时,我完全不知道为什么这不起作用。谁能告诉我我的配置丢失导致这种行为?

系统信息:

  • 操作系统:Ubuntu 14.04
  • 的nginx / 1.10.1
  • Python 2.7.6

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/;
    }
}

0 个答案:

没有答案