Nginx 비밀번호는 하나의 도메인을 보호하고 구성 중복을 방지합니다.

Nginx 비밀번호는 하나의 도메인을 보호하고 구성 중복을 방지합니다.

dev.domain.com과 beta.domain.com이라는 두 개의 도메인이 있습니다. 현재는 특정 위치와 규칙이 포함된 하나의 서버 섹션(기본값)이 있습니다. 이제 beta.domain.com을 비밀번호로 보호해야 합니다. 추가 서버 섹션을 생성하지 않고 내 위치와 기타 규칙을 모두 복제하지 않고 이 작업을 수행할 수 있는 방법이 있습니까?

일반적으로 다른 사람들이 복잡한 nginx 구성을 어떻게 관리하는지 알고 싶습니다. 섹션을 복사(중복)하거나 어떻게든 공통 규칙을 포함합니까?

답변1

여러 서버 블록 간에 구성을 공유하는 가장 간단한 방법은 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;
    }
}

관련 정보