在 nginx 中使用 server_name 域有什么限制吗?

is there any limit for using server_name domains in nginx?

我想将多个域指向一个 nginx 实例。我用 server_name 来指点他们。

server_name mydomain.com www.mydomain.com test.mydomain.com test1.mydomain.com;

上面给出的是最佳实践还是有任何其他 safe/stable 方法可以做到这一点?

您可以定义很多 server_names(即使是几千个也不会真正减慢速度)。但是,如果您希望您的配置保持一定的可读性,您应该:

  • 使用 RegEx 将 HOST 字符串与服务器块匹配
  • 使用默认服务器匹配所有未明确定义的内容 其他服务器
  • 块使用通配符server_names

请记住,使用准确的名称总是比使用通配符或 RegEx 更快。

如果您想坚持使用一长串服务器名称,您应该包含一个额外的配置文件:

server {
    include /somewhere/server_names;
    ...
}

添加。文件:

server_name
    mydomain.com 
    www.mydomain.com
    ...

有关详细信息,请参阅 nginx docs on server_name...