UseCanonicalName 指令
描述: | 配置服务器如何确定自己的名称和端口 |
---|---|
句法: | UseCanonicalName On|Off|DNS |
默认: | UseCanonicalName Off |
内容: | 服务器配置,虚拟主机,目录 |
状态: | 核心 |
模组: | 核心 |
在许多情况下,Apache httpd必须构造一个自我引用的 URL,即,引用回同一服务器的URL。对于UseCanonicalName On
Apache,httpd将使用ServerName
指令中指定的主机名和端口来构造服务器的规范名称。此名称在所有自引用URL中SERVER_NAME
以及SERVER_PORT
CGI 和中的值中使用。
使用UseCanonicalName Off
Apache httpd时,将使用客户端提供的主机名和端口(如果提供了主机名和端口),形成自引用URL(否则,它将使用规范名称,如上定义)。这些值与用于实现基于名称的虚拟主机的值相同,并且可用于相同的客户端。CGI变量SERVER_NAME
也SERVER_PORT
将由客户端提供的值构造。
一个可能有用的示例是Intranet服务器上,在该服务器上,用户使用诸如的短名称连接到计算机www
。您会注意到,如果用户键入短名和URL(即目录)(例如http://www/splat
,不带斜杠),则Apache httpd会将其重定向到http://www.example.com/splat/
。如果启用了身份验证,这将导致用户必须进行两次身份验证(www
一次又一次的身份验证www.example.com
-有关更多信息,请参阅此主题的FAQ)。但是如果UseCanonicalName
设置了Off
,那么Apache httpd将重定向到http://www/splat/
。
第三个选项,UseCanonicalName DNS
旨在与基于大规模IP的虚拟主机一起使用,以支持不提供Host:
标头的古老客户端。使用此选项,Apache httpd在客户端连接到的服务器IP地址上进行反向DNS查找,以计算出自引用URL。
警告如果CGI对的值进行假设
SERVER_NAME
,则此选项可能会破坏它们。客户端实际上可以自由地提供他们想要的任何值作为主机名。但是,如果CGI仅SERVER_NAME
用于构造自引用URL,则应该很好。
参见
UseCanonicalPhysicalPort
ServerName
Listen