server_name
在 NGINX 中,'server_name' 指令指定了 server 块应该响应的主机名。
Media streaming server based on nginx-module-rtmp
语法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 指令的顺序在复杂配置中会影响请求匹配。
⚠
确保只配置有效且预期的主机名,以防止未授权访问。