我有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; } }