解决Squid代理服务器"The requested URL could not beretrieved"错误
如果用Squid做代理服务器上网,当DNS不能正常解析时会遇到如下错误:
The requested URL couldnot be retrieved
-------------------------------------------------- ------------------------------
While trying to retrieve the URL: http://images.google.cn/
The following error was encountered:
Unable to determine IP address from host name forimages.google.cn
The dnsserver returned:
Timeout
This means that:
The cache was not able to resolve the hostnamepresented in the URL.
Check if the address is correct.
Your cache administrator isadmin@jack-test.com.cn
--------------------------------------------------------------------------------
Generated Fri, 18 Jun 2010 07:36:55 GMT bySquid.jack-test.com.cn (squid/2.6.STABLE18)
错误截图如下:
当然此截中我挡住了一些公司的信息,因为我是在公司环境下遇到这个问题的。
从错误信息中就可以看出这是一个DNS不能正常解析的问题,解决的方法如下:
这里是Ubuntu 8.04 Server版的解决方法,以管理员的权限登录服务器,在命令提示符下输入以下命令
nano /etc/resolv.conf
打开文件后更改一个新的DNS服务器地址,这里我们填也可以将之前的用#号标注掉,填入下面的内容:
nameserver 202.106.0.20
注意,这是北京网通的DNS服务器地址,你也可以填其他有效的DNS服务器地址即可。
之后重启Squid,命令如下:
/etc/init.d/squid restart
重启后恢复正常,上面错误中的网站被正常打开,如下图: