关于nginx透明代理的问题?
@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/;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
好的,我明天试试看,因为没看过nginx源码,不清楚里面的机制,有问题还要多请教你呀,呵呵
把proxy_pass http://page.aceona.com/name/;改成
proxy_pass http://page.aceona.com; 试试。