LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 742|回复: 2

架squid server時﹐執行squid出這表錯誤?

[复制链接]
发表于 2005-12-8 18:30:07 | 显示全部楼层 |阅读模式
FATAL: Could not determine fully qualified hostname.  Please set 'visible_hostname'

Squid Cache (Version 2.5.STABLE3): Terminated abnormally.
CPU Usage: 0.030 seconds = 0.000 user + 0.030 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 411
Aborted
发表于 2005-12-9 09:08:55 | 显示全部楼层
4.6 可见主机名

希望你不必担心visible_hostname 指令。然而,假如squid 不能发现它所运行的机器的主机名,你就必须设置它。如果发生这样的事,squid 抱怨和拒绝运行:
% squid -Nd1
FATAL: Could not determine fully qualified hostname. Please set 'visible_hostname'

有大量的理由使squid 需要知道主机名:
+ 主机名出现在squid 的错误消息里,这帮助用户验证潜在问题的源头。
+ 主机名出现在squid 转发的cache 单元的HTTP Via 头里。当请求到达原始主机时,Via头包含了在传输过程中涉及的代理列表。squid 也使用Via 头来检测转发环路。我将在第10章里讨论转发环路。

squid 对特定事务使用内部URL,例如FTP 目录列表的图标。当squid 对FTP 目录产生HTML 页面时,它插入小图标用以指明该目录中的文件类型。图标URL 包含了cache 的主机名,以便web 浏览器能直接从squid 请求它们。

每个从squid 响应的HTTP 回复包含了X-Cache 头。这并非官方HTTP 头。它是一个扩展头,用以指明该响应是cache 点击还是cache 丢失。既然请求和响应可能经过多个cache,每个X-Cache 头包含了cache 报告点击或丢失的名字。如下是一个通过2 个cache 的响应示例:
HTTP/1.0 200 OK
Date: Mon, 29 Sep 2003 22:57:23 GMT
Content-type: text/html
Content-length: 733
X-Cache: HIT from bo2.us.ircache.net
X-Cache: MISS from bo1.us.ircache.net

squid 在启动时试图自动获取主机名。首先它调用gethostname()函数,这通常能返回正确的主机名。接着,squid 调用gethostbyname()函数尝试对主机名进行DNS 查询。该函数典型的返回IP 地址和系统的规范名。假如gethostbyname()成功,squid 在错误消息里,Via 头里等地方使用这个规范名。

因为大量的理由,squid 可能不能检测到它的规范主机名,包括:
+ 主机名可能未设置。
+ 主机名可能从DNS 区域或/etc/hosts 文件里丢失。

squid 系统的DNS 客户端配置可能不正确或丢失。在unix 系统上,你该检查/etc/resolv.conf 和/etc/host.conf 文件。

假如你看到上述的致命错误,你必须修正主机名和DNS 信息,或者显式的给squid 指明主机名。在大多数情况下,请确认"hostname"命令返回一个完全规范的主机名,并且在/etc/hosts 文件里增加这个接口。假如这样不成功,请在squid.conf 里设置可见主机名:
visible_hostname squid.packet-pushers.net

更多信息请参考:http://bbs.chinaunix.net/viewthread.php?tid=571529
回复 支持 反对

使用道具 举报

发表于 2005-12-9 14:09:58 | 显示全部楼层
如果你修改过主机名称,容易出现这种问题。只要在配置文件中,visible_hostname 后加上自己的主机名称就可以了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表