server_name

在 NGINX 中,'server_name' 指令指定了 server 块应该响应的主机名。

语法server_name name1 [name2 ...];
默认值none
上下文
参数1+

说明

'server_name' 指令在配置 server 块 时起着关键作用,它定义了应该触发 NGINX 服务器特定配置的主机名。该指令接受一个或多个参数,通常以域名、IP 地址或通配符的形式提供。通过使用通配符,例如 *.example.com,NGINX 可以动态匹配多个子域名,从而在管理不同主机的请求时更加灵活。

当收到请求时,NGINX 会将 HTTP 请求中的 'Host' 头与所有 server 块中定义的 'server_name' 值逐一比较,并选择最具体的匹配项。如果没有找到匹配,NGINX 将使用默认的回退 server 块(通常配置为监听任意主机名),这会根据配置返回错误响应或进行重定向。

在由 'nginx-module-rtmp' 提供的媒体流上下文中,'server_name' 指令用于配置哪些主机名被允许连接到 RTMP 服务器的流。正确的配置有助于管理和保护媒体传输,允许管理员仅限制特定域名的访问,同时提高在同一服务器上托管多个流的可管理性。

配置示例

server {
    listen 1935;
    server_name example.com *.example.com;

    application live {
        live on;
    }
}

对通配符使用不正确的语法可能导致意外行为。

server_name 指令的顺序在复杂配置中会影响请求匹配。

确保只配置有效且预期的主机名,以防止未授权访问。

← 返回所有指令