免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5628 | 回复: 9
打印 上一主题 下一主题

[proxy] squid反向代理apache的rewrite出来的二级域名打不开 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-09-23 17:58 |只看该作者 |倒序浏览
服务器上有n个虚拟主机,并且一个域名有n个二级域名,大部分二级域名是主域名下通过rewrite规则生成的页面
现在在该服务器上安装squid,并配置好了反向代理功能,可以正常反向代理所有不是通过rewrite生成的二级域名(就是所有虚拟主机都可以打开),但每个虚拟主机下所有通过rewrite生成的二级域名都打不开
例如:
在httpd.conf下配置了www.abc.com,通过squid的反向代理功能可以正常访问它,在www.abc.com下有一条rewrite规则:
    RewriteCond %{HTTP_HOST} ^sz\.abc\.com$
      RewriteRule /$ /SearchListAction.do?x_Type=1&x_TradeCity=188 [PT,L]
问题是通过squid的反向代理功能不访问http://sz.abc.com

如果把squid去掉是可以访问http://sz.abc.com


请问我要如何配置squid才能让所有的二级域名能通过squid正常访问?

论坛徽章:
0
2 [报告]
发表于 2007-09-29 10:16 |只看该作者
大家不能刚看不说话阿

论坛徽章:
0
3 [报告]
发表于 2007-09-29 17:05 |只看该作者
楼主请问你httpd.conf文件里有N个虚拟主机站点,然后每个虚拟主机站点又有rewrite 的二级域名,你的httpd.conf和rewrite规则是怎么样的?

我这里的情况:
httpd.conf 有2个虚拟主机站点,如下:
www.xxx.com
shop.xxx.com

我在DNS上做了*.shop.xxx.com 都CNAME到shop.xxx.com 解析。
然后在shop.xxx.com里放rewrite规则,把2631.shop.xxx.com 的请求指向 链接shop.xxx.com/?q=2631

但是我测试的结果是,当我访问2631.shop.xxx.com 的时候,请求没有找到虚拟主机站点shop.xxx.com 所以不能应用rewrite规则,结果显示出来的是返回请求的是第一个虚拟主机站点www.xxx.com

论坛徽章:
0
4 [报告]
发表于 2007-09-29 23:31 |只看该作者
原帖由 eclosion 于 2007-9-29 17:05 发表
楼主请问你httpd.conf文件里有N个虚拟主机站点,然后每个虚拟主机站点又有rewrite 的二级域名,你的httpd.conf和rewrite规则是怎么样的?

我这里的情况:
httpd.conf 有2个虚拟主机站点,如下:
www.xxx.c ...

察看你的shop.ci123.com生效没有

论坛徽章:
0
5 [报告]
发表于 2007-09-29 23:33 |只看该作者
原帖由 oyzjin 于 2007-9-23 17:58 发表
服务器上有n个虚拟主机,并且一个域名有n个二级域名,大部分二级域名是主域名下通过rewrite规则生成的页面
现在在该服务器上安装squid,并配置好了反向代理功能,可以正常反向代理所有不是通过rewrite生成的二 ...

不能访问是,squid出什么错,看看error.log
应该不是大问题

论坛徽章:
0
6 [报告]
发表于 2007-10-08 10:52 |只看该作者
原帖由 eclosion 于 2007-9-29 17:05 发表
楼主请问你httpd.conf文件里有N个虚拟主机站点,然后每个虚拟主机站点又有rewrite 的二级域名,你的httpd.conf和rewrite规则是怎么样的?

我这里的情况:
httpd.conf 有2个虚拟主机站点,如下:
www.xxx.c ...





和你的情况是一样的
不过我的域名都是二级域名,因为量大,不能所有都做成二级域名,只做了一部分重要的,其它都用rewrite来完成
做法是这样的:
RewriteCond %{HTTP_HOST} ^sz\.abc\.com$
      RewriteRule /$ /SearchListAction.do?x_Type=1&x_TradeCity=188 [PT,L]

论坛徽章:
0
7 [报告]
发表于 2007-10-08 11:01 |只看该作者
楼主用的是什么代理模式呢?

既然说到apache用虚拟域了,squid是否用vhost的呢?

论坛徽章:
0
8 [报告]
发表于 2007-10-08 11:42 |只看该作者
原帖由 killua 于 2007-10-8 11:01 发表
楼主用的是什么代理模式呢?

既然说到apache用虚拟域了,squid是否用vhost的呢?
hosts_file /etc/hosts

http_port 3128 vhost vport defaultsite=www.abc.com
cache_peer 192.168.102.244 parent 80 0 no-query originserver name=dXX

论坛徽章:
0
9 [报告]
发表于 2007-10-09 12:13 |只看该作者
那估计是apache配置的问题了,squid一般没啥问题

论坛徽章:
0
10 [报告]
发表于 2007-10-10 15:57 |只看该作者
原帖由 killua 于 2007-10-9 12:13 发表
那估计是apache配置的问题了,squid一般没啥问题



问题找到了,是我的测试环境和真实环境不同做成的,修改了rewrite规则 就可以了
谢谢大家
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP