关于nginx透明代理的问题?

java10000 发布于 2012/10/15 19:20
阅读 1K+
收藏 0

@shudu 你好,想跟你请教个问题:

我这边有两台服务器:A---B,URL请求A时,A上的nginx做透明代理给B上的nginx,但是发现一个很奇怪的问题?like:

1、http://www2.aceona.com/name/李四.shtml 这个是请求

2、http://www2.aceona.com/name/%E6%9D%8E%E5%9B%9B.shtml    A服务器上nginx拿到的请求

3、http://www2.aceona.com/name/%e6%9d%8e%e5%9b%9b.shtml     B服务器上nginx拿到的请求

其中发现请求的URL在由A转发给B时,url中文编码转成小写了(只有中文会这样,英文不变),由于我的B服务上nginx要求必须拿到%E6%9D%8E%E5%9B%9B.shtml 才能正确解析,请问您知道怎么规避这个问题呢?

其他:以下是A服务器上nginx透明代理配置

location ^~ /name/
    {
        proxy_pass http://page.aceona.com/name/;
        proxy_set_header Host $host;
        proxy_redirect   http://page.aceona.com/name/   /name/;
    }

 

 

加载中
0
shudu
shudu
把proxy_pass http://page.aceona.com/name/;改成 proxy_pass http://page.aceona.com; 试试。
java10000
java10000
好的,我明天试试看,因为没看过nginx源码,不清楚里面的机制,有问题还要多请教你呀,呵呵
返回顶部
顶部