Syntax: | server_name |
---|---|
Default: | server_name ""; |
Context: | server |
Sets names of a virtual server, for example:
server { server_name example.com www.example.com; }
The first name becomes the primary server name.
Server names can include an asterisk (“*
”) replacing the first or last part of a name:
server { server_name example.com *.example.com www.example.*; }
Such names are called wildcard names.
The first two of the names mentioned above can be combined in one:
server { server_name .example.com; }
It is also possible to use regular expressions in server names, preceding the name with a tilde (“~
”):
server { server_name www.example.com ~^www\d+\.example\.com$; }
Regular expressions can contain captures (0.7.40) that can later be used in other directives:
server { server_name ~^(www\.)?(.+)$; location / { root /sites/$2; } } server { server_name _; location / { root /sites/default; } }
Named captures in regular expressions create variables (0.8.25) that can later be used in other directives:
server { server_name ~^(www\.)?(?<domain>.+)$; location / { root /sites/$domain; } } server { server_name _; location / { root /sites/default; } }
If the directive’s parameter is set to “$hostname
” (0.9.4), the machine’s hostname is inserted.
It is also possible to specify an empty server name (0.7.11):
server { server_name www.example.com ""; }
It allows this server to process requests without the “Host” header field — instead of the default server — for the given address:port pair. This is the default setting.
Before 0.8.48, the machine’s hostname was used by default.
During searching for a virtual server by name, if the name matches more than one of the specified variants, (e.g. both a wildcard name and regular expression match), the first matching variant will be chosen, in the following order of priority:
- the exact name
- the longest wildcard name starting with an asterisk, e.g. “
*.example.com
” - the longest wildcard name ending with an asterisk, e.g. “
mail.*
” - the first matching regular expression (in order of appearance in the configuration file)
Detailed description of server names is provided in a separate Server names document.
Please login to continue.