其他名称

空名称

server {
    listen      80;
    server_name "";
    ...
}

空名称说明

  • server_name "":匹配没有 Host 头的请求

空名称原理: 空名称用于处理没有 Host 头的请求,当 Nginx 收到一个请求时,如果请求的 Host 头为空,会使用空名称的服务器处理请求。

机器名称

server {
    listen      80;
    server_name example.org www.example.org
                ""; # 允许机器名称
    ...
}

机器名称说明

  • server_name "":允许机器名称

机器名称原理: 机器名称用于处理 Host 头为机器名称的请求,当 Nginx 收到一个请求时,如果请求的 Host 头为机器名称,会使用机器名称的服务器处理请求。

无效名称

server {
    listen      80;
    server_name localhost;
    ...
}

无效名称说明

  • server_name localhost:匹配 Host 头为 localhost 的请求

无效名称原理: 无效名称用于处理 Host 头无效的请求,当 Nginx 收到一个请求时,如果请求的 Host 头无效,会使用无效名称的服务器处理请求。

空名称和机器名称的区别

名称说明示例
空名称匹配没有 Host 头的请求server_name ""
机器名称匹配 Host 头为机器名称的请求server_name ""

空名称和机器名称的区别原理: 空名称用于处理没有 Host 头的请求,机器名称用于处理 Host 头为机器名称的请求。

缺失名称

如果请求的 Host 头不匹配任何服务器名称,Nginx 会使用默认服务器处理请求:

server {
    listen      80 default_server;
    server_name example.net www.example.net;
    ...
}

缺失名称说明

  • default_server:指定默认服务器

缺失名称原理: 当 Nginx 收到一个请求时,如果请求的 Host 头不匹配任何服务器名称,会使用默认服务器处理请求。

注意事项

  • 空名称用于处理没有 Host 头的请求
  • 机器名称用于处理 Host 头为机器名称的请求
  • 无效名称用于处理 Host 头无效的请求
  • 缺失名称用于处理 Host 头不匹配任何服务器名称的请求
  • 配置默认服务器处理缺失名称