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 路由匹配不上。
1
alex321 2016-07-07 11:49:36 +08:00
/ 做 uwsgi
/text/index 不做 |
2
zjqzxc 2016-07-07 11:49:40 +08:00
遇到过类似的问题,处理方法是修改路由把 /test 部分吃掉
|
3
shyling 2016-07-07 13:00:40 +08:00 via iPad
用正则 location
|
4
ruanjf 2016-07-07 13:03:10 +08:00
uwsgi_pass 127.0.0.1:3031/;
加斜杠试试 |
5
dixyes 2016-07-07 13:06:15 +08:00 via Android
rewrite 阶段在 uwsgi_pass 之前么 如果是的话 可以用 set 命令修改 location 变量试试(我只是脑洞 没试过
|
6
hbprotoss 2016-07-07 13:47:07 +08:00
location /test 里面加
rewrite /test(.*) $1 break; |
7
csdreamdong OP |
8
hbprotoss 2016-07-07 14:09:06 +08:00
@csdreamdong 不是吧,难道 rewrite 对 uwsgi_pass 不起作用。。
|
9
hbprotoss 2016-07-07 14:16:55 +08:00 1
@csdreamdong 估计写 uwsgi_params 配置文件了, http://uwsgi-docs.readthedocs.io/en/latest/InternalRouting.html
|
10
qingchn 2016-07-07 14:24:50 +08:00
django 里面把这条路由加上 /test/index
|
11
csdreamdong OP |
12
csdreamdong OP @qingchn 嗯。已找到方案,就是不想改 django 的形态。。
|