admin 管理员组

文章数量: 1086019


2024年4月24日发(作者:this love mile歌词)

nginx系列之server_name定义与匹配规则

Server_name:定义与匹配规则

在Nginx中,server_name指令用于定义虚拟主机的域名(或IP地址)以及匹

配规则。它决定了当某个请求到达Nginx时,应该由哪个虚拟主机来处理。

server_name指令可以是一个域名、一个IP地址、以及一系列的通配符。

本文将详细介绍server_name的定义和匹配规则,并给出一些实例说明。

一、基本语法和含义

server_name指令的基本语法如下:

server_name name [];

其中,name表示域名、IP地址或通配符。name之间使用空格分隔。

当一个请求到达Nginx时,Nginx会将该请求的Host头域与每个虚拟主机的

server_name指令进行匹配。如果能够找到一个匹配的虚拟主机,则将该请求

交给该虚拟主机来处理。否则,Nginx会将该请求交给默认的虚拟主机来处理。

二、匹配规则

1. 精确匹配

预设情况下,server_name指令会进行精确匹配。即,只有当请求的Host头域

与server_name完全一致时,才会进行匹配。

例如,我们有一个虚拟主机的server_name指令定义为:

server_name example;

那么,当请求的Host头域为example时,该虚拟主机将会被匹配到。而当请

求的Host头域为

2. 通配符匹配

为了能够处理一些通用的情况,Nginx提供了一些通配符匹配的功能。

a) 通配符"*"

通过使用通配符"*",可以匹配任意子域名。例如:

server_name *.example;


本文标签: 匹配 虚拟主机 域名 指令 请求