关于nginx透明代理的问题?

发布于 2021-11-13 04:06:08 字数 980 浏览 799 评论 2

@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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

臻嫒无言 2021-11-17 12:03:44

好的,我明天试试看,因为没看过nginx源码,不清楚里面的机制,有问题还要多请教你呀,呵呵

坐在坟头思考人生 2021-11-15 19:50:07

把proxy_pass http://page.aceona.com/name/;改成
proxy_pass http://page.aceona.com; 试试。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文