nginx 反向代理的问题。

2016 年 7 月 7 日
 csdreamdong
server {
    listen       80;
    server_name  www.hehehe.com;

    charset utf-8;
    
    location /test {
        include uwsgi_params;
        uwsgi_pass 127.0.0.1:3031;
    }
}

对于 http://hehehe.com/test/index 类似这样的请求 反向代理到了 uwsgi, 是个 django 应用

然后我只想要把 /index 这部分的 url 反向代理过去,,而不是 /test/index

现在 /test/index 导致我的 django 的 url 路由匹配不上。

4430 次点击
所在节点    NGINX
12 条回复
alex321
2016 年 7 月 7 日
/ 做 uwsgi
/text/index 不做
zjqzxc
2016 年 7 月 7 日
遇到过类似的问题,处理方法是修改路由把 /test 部分吃掉
shyling
2016 年 7 月 7 日
用正则 location
ruanjf
2016 年 7 月 7 日
uwsgi_pass 127.0.0.1:3031/;
加斜杠试试
dixyes
2016 年 7 月 7 日
rewrite 阶段在 uwsgi_pass 之前么 如果是的话 可以用 set 命令修改 location 变量试试(我只是脑洞 没试过
hbprotoss
2016 年 7 月 7 日
location /test 里面加

rewrite /test(.*) $1 break;
csdreamdong
2016 年 7 月 7 日
@hbprotoss rewrite 之后

www.hehehe.com/test/index
访问后,就会被指向 www.hehehe.com/index
0 0 ,这样子就是 404 页面。
hbprotoss
2016 年 7 月 7 日
@csdreamdong 不是吧,难道 rewrite 对 uwsgi_pass 不起作用。。
hbprotoss
2016 年 7 月 7 日
qingchn
2016 年 7 月 7 日
django 里面把这条路由加上 /test/index
csdreamdong
2016 年 7 月 7 日
@hbprotoss 嗯。正解。

mount = /test=/data/workspace/mblog/mblog/wsgi.py
manage-script-name = true

uwsgi 的配置里,可以配。
csdreamdong
2016 年 7 月 7 日
@qingchn 嗯。已找到方案,就是不想改 django 的形态。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/290822

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX