拥有网站example.com
如何配置 Nginx 区域文件,以便每个子域名(如 test.example.com 等)都转发到一台服务器。
问题是我事先不知道可能的子域,所以我无法手动列出它们。
答案1
您定义一个默认服务器块:
server {
listen 80 default_server;
server_name _;
return 301 http://example.com;
}
这会影响服务器上的每个域,而不仅仅是选定服务器的子域。如果不枚举所有这些域,则无法将其限制到特定子域。
答案2
server_name _; 和 listen 配置上的 default_server 就是您要寻找的。
服务器 {
听 80 默认服务器;服务器名称 _;
root /var/www/default; (或其他任何地方)
}