• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • ServerName 指令

    描述:服务器用来标识自己的主机名和端口
    句法:ServerName[scheme://]domain-name|ip-address[:port]
    内容:服务器配置,虚拟主机
    状态:核心
    模组:核心

    ServerName指令设置服务器用来标识自身的请求方案,主机名和端口。

    ServerName使用基于名称ServerAlias的虚拟主机时,用于(可能与结合使用)唯一标识虚拟主机。

    此外,当UseCanonicalName设置为非默认值时创建自引用重定向URL时将使用此选项。

    例如,如果托管Web服务器的计算机的名称为simple.example.com,但该计算机也具有DNS别名,www.example.com并且您希望如此标识Web服务器,则应使用以下指令:

    ServerName www.example.com
    

    ServerName指令可以出现在服务器定义内的任何位置。但是,每个外观都会覆盖先前的外观(在该服务器内)。

    如果未ServerName指定,服务器首先尝试向操作系统询问系统主机名,以推断出客户端可见的主机名,如果失败,则对系统上存在的IP地址执行反向查找。

    如果没有在中指定端口ServerName,则服务器将使用传入请求中的端口。为了获得最佳的可靠性和可预测性,您应该使用ServerName指令指定一个明确的主机名和端口。

    如果您使用的是基于名称的虚拟主机,则ServerName内部<VirtualHost>部分指定必须在请求Host:标头中出现的主机名才能匹配该虚拟主机。

    有时,服务器在运行SSL的设备(例如反向代理,负载平衡器或SSL卸载设备)后面运行。在这种情况下,请https://ServerName指令中指定客户端连接到的方案和端口号,以确保服务器生成正确的自引用URL。

    看到的说明UseCanonicalNameUseCanonicalPhysicalPort指令,其用于确定自引用的URL(例如,通过是否设置mod_dir模块)将是指指定的端口,或在客户端的请求给定的端口号。

    如果未设置ServerName服务器可以解析为IP地址的名称,则会导致启动警告。httpd然后,将使用系统hostname命令使用它可以确定的任何主机名。这几乎永远不会是您真正想要的主机名。

    httpd: Could not reliably determine the server's fully qualified domain name, using rocinante.local for ServerName
    

    参见

    • 有关DNS和Apache HTTP Server的问题
    • Apache HTTP Server虚拟主机文档
    • UseCanonicalName
    • UseCanonicalPhysicalPort
    • ServerAlias