동일한 도메인에 있는 다른 앱은 어떻게 구성되나요?

동일한 도메인에 있는 다른 앱은 어떻게 구성되나요?

나는 새로운 직업을 갖게 되었고 그들은 AWS에 모든 것을 설정했습니다. 우리는 다양한 애플리케이션을 호스팅하는 테스트 서버를 보유하고 있습니다.

내가 가면

jenkins.example.com

우리가 실행 중인 Jenkins 인스턴스로 이동합니다.

내가 가면

server.test.example.com

그런 다음 애플리케이션의 테스트 버전으로 이동합니다.

이는 어디에 구성되어 있나요(다른 "하위 도메인"에 대한 다른 앱)? Nginx에 있습니까, 아니면 DNS 항목에 있습니까? 아니면 둘 다 아니면 다른 곳인가요?

("하위 도메인"과 같이 이 질문을 하기 위해 사용해야 하는 용어가 무엇인지 100% 확신할 수 없습니다. 그것이 무엇인지 알려 주시기 바랍니다.)

답변1

그것은 당신이하고 싶은 일에 달려 있습니다.

귀하가 요구하는 것은 추가된 DNS 항목이 아닌 Nginx가 필요할 가능성이 높습니다.

CNAME DNS 항목은 특정 하위 도메인을 특정 도메인으로 리디렉션할 수 있습니다(그러나 서버의 특정 IP 주소나 포트로 직접 리디렉션할 수는 없음). 하위 도메인을 매핑하는 경우 요청을 다른 도메인 이름으로 리디렉션하는 경우에만 CNAME이 필요합니다(예: subdomain.exampleone.com은 exampletwo.com을 나타냄).

Nginx는 역방향 프록시 역할을 하여 하위 도메인을 가져와 서버의 특정 폴더/파일 또는 포트로 리디렉션할 수 있습니다. 이는 /etc/nginx/nginx.conf*, http {...}블록 내 또는 /etc/nginx/sites-enabled/디렉터리에서 구성할 수 있습니다. 여기에서 각 리디렉션에 대해 별도의 파일을 생성할 수 있습니다( http {...}암시되는 경우).

*또는 nginx 디렉토리가 어디에 있든

특정 포트의 애플리케이션으로의 리디렉션에 대한 적절한 형식은 /etc/nginx/nginx.conf다음과 같습니다.

server {
    # whether you type localhost or 127.0.0.1 or something else here 
    # depends on your servers /etc/hosts file, where you define how 
    # the server refers to itself
    listen       localhost:80;  
    server_name  mysubdomain.example.com;

    location / {
     proxy_pass              http://localhost:MYPORTNUMBER
     proxy_set_header        Host            $host;
     proxy_set_header        X-Real-IP       $remote_addr;
     proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
   }
}

MYPORTNUMBER를 애플리케이션이 실행 중인 포트로 바꾸는 곳입니다. 정적 파일로 리디렉션하는 프로세스는 비슷하지만, Proxy_pass 대신 root /path/to/desired/folder.

특별히 시도하지는 않았지만 이는 server.test.ourdomain.com귀하의 예와 같은 다중 레벨 하위 도메인에 작동할 것입니다.

관련 정보