Nginx密码保护一个域名,避免configuration重复

我有2个域名dev.domain.com和beta.domain.com。 目前我有一个服务器部分(默认)与一堆特定的位置和规则。 现在我需要密码保护beta.domain.com。 有没有办法做到这一点,而不创build额外的服务器部分,实质上重复所有的位置和其他规则?

一般来说,我想知道其他人如何pipe理复杂的nginxconfiguration。 他们只是复制部分(重复)或包含共同的规则?

在多个服务器块之间共享configuration的最简单方法是使用include指令。 例如:

/etc/nginx/conf.d/mysite.inc:

#...locations and rules... 

/etc/nginx/sites-available/dev.domain.com:

 server { server_name dev.domain.com; root /path/to/root; include /etc/nginx/conf.d/mysite.inc; } 

/etc/nginx/sites-available/beta.domain.com:

 server { server_name beta.domain.com; root /path/to/root; include /etc/nginx/conf.d/mysite.inc; location / { auth_basic "Authentication Required"; auth_basic_user_file /path/to/authfile; } }