免费注册 查看新帖 |

Chinaunix

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

[proxy] 【求助】虚拟机下尝试用Squid建反向代理遇到问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-06-18 17:43 |只看该作者 |倒序浏览
现在在虚拟机下自己想测试一下Squid的反向代理的加速
尝试搭建了2个FreeBSD的虚拟机FreeBSD1和FreeBSD2 都是NAT模式来实现上网服务的
并申请了3322.org的动态DSN服务 域名为 ABC.3322.org
设置FreeBSD1的IP是:192.168.203.10 在此虚拟机上安装了Apache并实现了web服务
设置FreeBSD2的IP是:192.168.203.30 在此虚拟机上安装了Squid 来实现代理服务
并在虚拟机上做了端口映射设置 把宿主机的80端口是指向到了 FreeBSD2的192.168.203.30的80端口的
预期实现直接访问 ABC.3322.org 便可以转向到访问FreeBSD2的提供Squid服务的虚拟机上来提供反向代理
实现加速访问FreeBSD1上提供的web站点服务
改写了FreeBSD2的hosts文件如下:
ee /etc/hosts
192.168.203.10 abc.3322.org
简单设置了一下squid.conf 内容如下:

http_port 80 accel defaultsite=ABC.3322.org
cache_peer 192.168.203.10 parent 80 0 no-query originserver name=myAccel
acl mydomain dstdomain .3322.org
http_access allow mydomain
cache_peer_access myAccel allow mydomain
cache_peer_access myAccel deny all

运行Squid可以正常启动了 但是现在遇到的问题是 在浏览器可以直接用192.168.203.30 可以访问到192.168.203.10的web站点了 但是用ABC.3322.org域名却提示如下错误:
Access Denied.
拒绝访问
Access control configuration prevents your request from being allowed at this time. Please contact your service provider if you feel this is incorrect.
当前的存取控制设定禁止您的请求被接受,如果您觉得这是错误的,请与您网路服务的提供者联系。

不知道Squid.conf哪里有设置错误...?还是需要其他的一些设置呢...?

[ 本帖最后由 DreamRainy 于 2008-6-18 17:44 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-06-19 08:17 |只看该作者
1. 直接用域名访问freebsd1的apache服务可以成功吗?
2. http_port 80 accel defaultsite=ABC.3322.org 这句加多一个参数:
    http_port 80 accel vhost defaultsite=ABC.3322.org

论坛徽章:
0
3 [报告]
发表于 2008-06-19 10:04 |只看该作者
1.因为是在虚拟机下建的 所以要把虚拟机的端口映射改到FreeBSD1的  改之后是可以用域名来访问FreeBSD1下的web站点的
2.尝试加上去了 不过用了Vhost参数以后 用192.168.203.30的IP地址也访问不了了
用IP访问提示下面的错误:
错误
您所请求的网址(URL)无法获取--------------------------------------------------------------------------------
当尝试读取下面的网址(URL)时: http://192.168.203.30/
发生了下列的错误:

Unable to forward this request at this time.
目前无法将您的请求进行转送操作

This request could not be forwarded to the origin server or to any parent caches. The most likely cause for this error is that:

The cache administrator does not allow this cache to make direct connections to origin servers, and
All configured parent caches are currently unreachable.

您的请求无法被转送到原始网络服务器或其他的上层缓存服务器,发生这个问题最可能的原因是:

缓存服务器管理员不允许本服务器与原始网络服务器直接连结,而
所有本服务器指定的上层缓存服务器都暂时无法连结。
本缓存服务器管理员:webmaster


用域名访问提示下面的错误:
错误
您所请求的网址(URL)无法获取--------------------------------------------------------------------------------
当尝试读取以下网址(URL)时: http://ABC.3322.org/
发生了下列的错误:

Access Denied.
拒绝访问
Access control configuration prevents your request from being allowed at this time. Please contact your service provider if you feel this is incorrect.
当前的存取控制设定禁止您的请求被接受,如果您觉得这是错误的,请与您网路服务的提供者联系。


本缓存服务器管理员:webmaster

[ 本帖最后由 DreamRainy 于 2008-6-19 10:08 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2008-06-19 12:20 |只看该作者
不是很清楚虚拟机的端口映射是怎么回事.
我个人电脑上也跑了2个Linux虚拟机, 有不同的IP地址, 一个跑apache, 一个跑squid, 2个虚拟机上都务必开80端口, 无需设什么映射吧?
你的squid配的没什么问题. vhost是支持基于Host:头部的apache虚拟名字主机的, vport是支持虚拟IP主机的.

论坛徽章:
0
5 [报告]
发表于 2008-06-19 12:21 |只看该作者
apache里,对abc.3322.org配的是什么方式的虚拟主机?

论坛徽章:
0
6 [报告]
发表于 2008-06-19 14:27 |只看该作者
澄清一下我是ADSL拨号上网的 对外网来说是分布的动态的IP地址
宿主机实现上网的方式是 : 宿主机win2008->TP-Link的路由器->ADSL Modem->Internet  
而虚拟机就是直接通过自身的NAT来实现上网
不在虚拟机上做端口映射直接用域名是访问不到虚拟机下的80端口的 而是直接访问到宿主机的80端口
只有把宿主机的80端口映射到虚拟机FreeBSD2下的80端口才能让外部网络的客户端通过访问域名abc.3322.org 能够访问到宿主机
然后再通过虚拟机的端口映射功能实现转而访问到虚拟机FreeBSD2的80端口
最后再通过FreeBSD2上的Squid实现反向代理访问FreeBSD1上的web站点

我的apache虚拟机的配置是:
<VirtualHost *:80>
ServerAdmin dreamrainy@gmail.com
DocumentRoot /usr/local/www
ServerName abc.3322.org
ErrorLog /var/log/web.error.log
CustomLog /var/log/ABC.3322.org.log common
</VirtualHost>

论坛徽章:
0
7 [报告]
发表于 2008-06-19 14:52 |只看该作者
看来根本原因还是ACL拒绝了对域名的访问.
vhost还是要的, 因为你的虚拟主机是基于域名的.
不过域名的访问控制可能有点问题.
如果方便, 把squid.conf email给我看下.

论坛徽章:
0
8 [报告]
发表于 2008-06-19 23:32 |只看该作者
acl 呢? 访问控制 的问题  

配置文件 过滤下贴出来呗

grep -v "#"  squid.conf

论坛徽章:
0
9 [报告]
发表于 2008-06-20 11:23 |只看该作者
再次谢谢pyh大哥的鼎立相助! 谢谢楼上的兄弟! 还真是ACL控制的问题  困扰了几天的问题解决了
说下问题吧 也算是给后来的初学者提个醒 当个记录好了  
原来是ACL控制语句顺序的问题 http_access allow mydomain 加的晚了 在此之前用的默认配置文档 而之前是有一句http_access deny 的 先于我设置的allow生效了
教训教训
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP