问题1:nginx,使用了upstream模块配置了多个后端,然后反向代理,结果全变成了301跳转 问题2:nginx的rewrite规则用的时间长了似乎消不掉,要重启好几次

2013-01-22 16:25:32 +08:00
 shanyang
问题1:nginx,使用了upstream模块配置了多个后端,然后反向代理,结果全变成了rewrite
upstream mybackend
{
server aaa.com #一般情况下用aaa.com作为主要的后端
server bbb.com backup #aaa.com挂了就用bbb.com
}

server
{
listen 80;
server_name www.ccc.com;#ccc.com是用户实际访问的地址,被反代到mybackend去
location /
{
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504 http_404;
proxy_pass http://mybakend;#反代ccc.com到mybackend
}
}
在aaa.com挂掉的情况下,测试浏览器输入www.ccc.com结果跳到bbb.com,但是不是反代的,而是直接301跳转过去,地址栏也变成了bbb.com我想要的结果是输入www.ccc.com,展现bbb.com的内容但是地址栏不要变成bbb.com啊

问题2:nginx的rewrite规则用的时间长了似乎消不掉,要重启好几次(去年10月份的nginx版本)
以前我给nginx写了一个rewrite吧所有泛域名301导向到网站test.com
然后我吧这个rewrite取消,但是重启nginx后,所有泛域名还是无条件跳到test.com
重启好几次后(次数不定,linux也重启过),有时候能正常,有时候一直都保持之前的rewrite跳转
这种情况怎么办
11163 次点击
所在节点    NGINX
6 条回复
altchen
2013-01-22 17:54:33 +08:00
配置应该没错,用firebug看下具体的返回
1.感觉是bbb.com的返回http头或html自已执行了301转跳了
2.会不会浏览器缓存?感觉不太可能是ningx的问题
或者试升下最新版看下
shanyang
2013-01-27 00:05:29 +08:00
感觉ngxin运行时间久了经常会出现这总问题,有时候重启动多次会好,会不会是nginx的bug
xiaop
2013-01-27 00:58:59 +08:00
1,如果直接用aaa.com访问没问题,基本可以判定是你的配置文件有问题。
2,可能是chrome的问题,换个浏览器试试看?
Tianpu
2013-01-27 16:55:20 +08:00
Http block: disable server name redirect
Proxy pass block: add Host $host to backend

Read proxy pass help page carefully and make a new conf
Livid
2013-01-27 16:56:51 +08:00
重启可以试试:

killall nginx
/etc/init.d/nginx start
Jakesoft
2016-04-15 15:09:57 +08:00
我也遇到了相同的问题,但是我的只有路径后面不加 /才会有 301 跳转啊

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

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

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

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

© 2021 V2EX