Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用nginx,我可以在代理uwsgi/Django服务器时删除父路径吗?_Nginx - Fatal编程技术网

使用nginx,我可以在代理uwsgi/Django服务器时删除父路径吗?

使用nginx,我可以在代理uwsgi/Django服务器时删除父路径吗?,nginx,Nginx,我的目标是将其发送到nginx服务器: http://www.example.com/secure/rest/rabbits/list?foo=baloo nginx服务器要将此代理反向到django服务器: /rabbits/list?foo=baloo 经过几个小时的摆弄,我找不到办法来实现这一点 以下是我的nginx配置中的相关行: upstream django { server 127.0.0.1:8000; # for a web port socket (we'll u

我的目标是将其发送到nginx服务器:

http://www.example.com/secure/rest/rabbits/list?foo=baloo
nginx服务器要将此代理反向到django服务器:

/rabbits/list?foo=baloo
经过几个小时的摆弄,我找不到办法来实现这一点

以下是我的nginx配置中的相关行:

upstream django {
    server 127.0.0.1:8000; # for a web port socket (we'll use this first)
}

location /secure/rest/ {
    uwsgi_pass  django;
    include     /etc/nginx/uwsgi_params; # the uwsgi_params file you installed
}
Django日志中的结果是:

Oct 19 09:47:10 ip-172-26-15-20 uwsgi[51176]: Not Found: /secure/rest/user
有人能建议一种方法来实现这一点吗?我尝试了太多的解决方案,以至于我忘记了我尝试过的解决方案的排列。

检查答案。这是关于ngx_http_fastcgi_模块的类似问题,但我认为原因和解决方案是相同的。在使用
uwsgi参数请求URI…
指令包含
uwsgi参数后,需要手动覆盖
REQUEST\u URI
uwsgi参数。试试这个:

位置/安全/休息/{
重写^/secure/rest(.*)$$1中断;
包括/etc/nginx/uwsgi_params;#您安装的uwsgi_params文件
uwsgi_参数请求_URI$URI$is_args$args;
uwsgi_pass django;
}