2013-05-21 2 views
-1

역방향 프록시로 nginx 사용 사이트에서 서버를 가리키고 있지만 실제로 존재하지는 않지만 서버가 아닌 서버의 기존 사이트를 사용할 수는 없다는 점에 유의했습니다. 발견 된 메시지 또는 유사. Nginx 역방향 프록시가 아닌 수신 대기 도메인 모두 수신

는 config 블록이의 nginx 시스템이 CNAME을 사용자 점을 portal.test.org뿐만 smartportal.test.org

또는 말의 도메인 헤더를 수신하는 말 그들은 같은 사이트 누군가가 다음

A의 저를 직접 할 수

을 portal.test2.org 가리 킵니다. nginx가 가상 호스트로 존재하지 않을 때 반환 할 사이트를 결정하는 방법 b. 지정되지 않은 도메인을 잡는 방법 및 사용자에게이 도메인이이 호스트에 존재하지 않는다는 것을 알려주는 기본 페이지를 반환하는 방법

누군가가 내가 인터넷 검색을 시도하도록 도울 수 있기를 희망하지만 때때로 올바른 용어를 알고 있다고 생각합니다.

많은 감사

답변

1

당신이 listen 지침 및 server_name 지침의 default_server 매개 변수를 사용해야합니다. 의 nginx는 가상 호스트로 존재하지 않는 경우 반환 할 위치를 결정하는 방법

질문

  • 들을 [default_server]

    지시어가 default_server 매개 변수가있는 경우 , 동봉 된 서버 {...} 블록이 주소의 기본 서버가됩니다 : 포트 쌍. 이는 server_name 지시문과 일치하지 않는 호스트 이름에 대한 기본 서버 블록을 지정하려는 이름 기반 가상 호스팅에 유용합니다. default_server 매개 변수가있는 지시문이 없으면 기본 서버는 address : port 쌍이 나타나는 첫 번째 서버 블록이됩니다.


    서버 _

    이 지시어는 두 가지 작업을 수행

    다음 Nginx의 구성 파일에서

    가 서버에 대해 들어오는 HTTP 요청의 호스트 헤더를 비교 {...} 블록과 를 선택 일치하는 첫 번째 것. 가상 서버가 정의되는 방식입니다. 서버 이름은 다음 순서로 처리됩니다

    1 .- 전체, 정적 이름

    2 .- 이름을 와일드 카드 이름의 시작 - * .example.com을

    3. - 이름 끝에 와일드 카드가있는 이름 - 예 : www.example.* 정규 표현식

    4 .- 이름이 일치하는 구성 파일은 다음 순서에 따라 사용됩니다 에서 서버 {...} 블록이없는 경우 :

    1. - 매칭과 서버 블록 지시자로 표시 안들을 [기본 | default_server]

    2.- 일치와 제 서버 블록 지시자 청취 (또는 암시 청취 80)

  • 지정되지 않은 모든 도메인을 잡아이 호스트

    server { 
        listen 1.2.3.4:80 default_server; 
        server_name _ ""; 
        location/{ 
        alias /var/www/html/domain-does-not-exists.html; 
        } 
    } 
    
    server { 
        listen 1.2.3.4:80 ; 
        server_name portal.test.org; 
        location/{ 
         ... your site ... 
        } 
    } 
    
에 존재하지 않는 사용자가이 도메인을 알려주는 기본 페이지를 반환하는 방법