如何配置 Nginx 限制为数千个不同的 server_name,而无需创建数千个外部配置文件或编写很长的 server_name 行?
确实,我希望 Nginx 仅成为 server1.com、server2.com 等的反向代理……
对我来说最好的解决方案是有一个包含我受限的服务器名称的外部配置文件:server1.com,server2.com等...
是否可以 ?
好的,谢谢你的回答,它不需要注册表达式就可以工作。只是一个很大的 server_name 列表,正如 kolbijack 所解释的那样。谢谢。
答案1
您可以将 server_name 指令单独放在一个文件中,然后从服务器块中包含它:
# example.com.conf
server {
include /path/to/server_names;
...
}
# /path/to/server_names
server_name
example.com
domain.com
foo.com
;
server_names 文件只需要在顶部有 server_name 并且在底部有 ; 即可作为有效指令。
答案2
server_name
块中的声明可以server {}
是正则表达式,这应该允许您在设置的模式内匹配 server_name 。
更多相关信息请参见此处:http://nginx.org/en/docs/http/server_names.html#regex_names