Nginx:一个服务器下的子域的位置指令

我有这样的服务器configuration

server { listen 80; server_name www.site.com; server_name stage.site.com; server_name nagios.site.com; location ~* (.*)nagios { auth_basic "Admin"; auth_basic_user_file /etc/nginx/.htpasswd; } 

当我尝试将位置指令应用于子域时,它似乎不起作用。

我不想复制服务器。 这是很多代码。

我如何纠正这一点?

当我尝试将位置指令应用于子域时,它似乎不起作用。

location指令用于URI,不用于子域。

我不想复制服务器。 这是很多代码。

但这是正确的做法。 不build议使用if指令检查$http_host