라이브러리

[NGINX] server_name - 서버의 이름을 설정합니다.


NGINX에서 `server_name`은 서버가 요청을 처리하기 전에 요청 헤더의 `Host` 필드를 확인하여 요청을 처리할 서버를 결정하는 데 사용되는 디렉티브입니다.

server_name 디렉티브의 기본 사용법


`server_name` 디렉티브는 NGINX 구성 파일에서 사용됩니다. 이 디렉티브는 서버 이름을 지정하여 NGINX가 요청을 처리할 서버를 결정하도록 합니다.

# 예제 1: 단일 서버 이름


#hostingforum.kr
nginx

server {

    listen 80;

    server_name example.com;



    location / {

        root /var/www/html;

        index index.html;

    }

}



이 예제에서는 `example.com` 서버 이름을 지정하여 NGINX가 요청을 처리할 서버를 결정합니다. NGINX는 `example.com` 도메인에 대한 요청을 처리할 때 이 서버 블록을 사용합니다.

# 예제 2: 여러 서버 이름


#hostingforum.kr
nginx

server {

    listen 80;

    server_name example.com www.example.com;



    location / {

        root /var/www/html;

        index index.html;

    }

}



이 예제에서는 `example.com` 및 `www.example.com` 서버 이름을 지정하여 NGINX가 요청을 처리할 서버를 결정합니다. NGINX는 `example.com` 및 `www.example.com` 도메인에 대한 요청을 처리할 때 이 서버 블록을 사용합니다.

# 예제 3: 서버 이름의 우선순위


#hostingforum.kr
nginx

server {

    listen 80;

    server_name example.com;



    location / {

        root /var/www/html;

        index index.html;

    }

}



server {

    listen 80;

    server_name www.example.com;



    location / {

        root /var/www/html;

        index index.html;

    }

}



이 예제에서는 `example.com` 서버 이름을 지정한 서버 블록이 `www.example.com` 서버 이름을 지정한 서버 블록보다 우선순위가 높습니다. NGINX는 `example.com` 도메인에 대한 요청을 처리할 때 첫 번째 서버 블록을 사용하고, `www.example.com` 도메인에 대한 요청을 처리할 때 두 번째 서버 블록을 사용합니다.

server_name 디렉티브의 옵션


`server_name` 디렉티브에는 여러 옵션이 있습니다.

# 예제 4: 서버 이름의 정규 표현식


#hostingforum.kr
nginx

server {

    listen 80;

    server_name ~^(www.)?example.com$;



    location / {

        root /var/www/html;

        index index.html;

    }

}



이 예제에서는 서버 이름의 정규 표현식을 사용하여 NGINX가 요청을 처리할 서버를 결정합니다. `~` 기호는 정규 표현식을 사용하도록 NGINX에 알려주고, `^` 기호는 문자열의 시작을 나타내며, `(www.)?`는 `www.`를 옵션으로 사용하도록 허용하며, `example.com$`는 `example.com` 도메인을 지정합니다.

# 예제 5: 서버 이름의 우선순위


#hostingforum.kr
nginx

server {

    listen 80;

    server_name example.com;



    location / {

        root /var/www/html;

        index index.html;

    }

}



server {

    listen 80;

    server_name www.example.com;



    location / {

        root /var/www/html;

        index index.html;

    }

}



이 예제에서는 `example.com` 서버 이름을 지정한 서버 블록이 `www.example.com` 서버 이름을 지정한 서버 블록보다 우선순위가 높습니다. NGINX는 `example.com` 도메인에 대한 요청을 처리할 때 첫 번째 서버 블록을 사용하고, `www.example.com` 도메인에 대한 요청을 처리할 때 두 번째 서버 블록을 사용합니다.

결론


`server_name` 디렉티브는 NGINX에서 요청을 처리할 서버를 결정하는 데 사용되는 디렉티브입니다. 이 디렉티브는 서버 이름을 지정하여 NGINX가 요청을 처리할 서버를 결정하도록 합니다. NGINX는 `server_name` 디렉티브의 옵션을 사용하여 서버 이름의 정규 표현식을 사용하거나, 서버 이름의 우선순위를 지정할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 25 페이지

검색

게시물 검색