Nginx의 하위 도메인에 따라 프록시를 다른 장소로 되 돌리는 방법은 무엇입니까?


14

하나의 컴퓨터와 하나의 IP 주소를 가리키는 여러 개의 하위 도메인이 있습니다. 이 머신에서 nginx가 리버스 프록시로 작동하도록하고 싶습니다. 머신에 액세스하는 데 사용 된 하위 도메인에 따라 프록시를 다른 서버로 리버스하고 싶습니다. nginx를 리버스 프록시 용도로 사용하는 것으로 본 모든 예제는 location이해하지만 다른 하위 도메인이 아닌 경로에서만 작동합니다. 원하는 것을 어떻게 달성 할 수 있습니까?


2
이것은 너무 광범위 할 수 있습니다. 이미 시도한 것에 대해 더 많은 정보를 게시 할 수 있습니까?
Will

답변:


27

귀하의 질문을 완전히 잘못 읽지 않는 한 : 각 하위 도메인에 대해 서버 블록을 설정하고 해당 하위 도메인의 루트에 대한 올바른 역방향 프록시를 정의하십시오.

 server {
        server_name subdomain1.example.com;
        location / {
            proxy_pass       http://hostname1:port1;
        }
 }
 server {
        server_name subdomain2.example.com;
        location / {
            proxy_pass       http://hostname2:port2;
        }
 }

답변이 늦어 죄송하지만 작동합니다!
markasoftware

3

거의 같은 방식입니다.

location /foo {
    rewrite ^/foo(.+)$ /$1 break;
    proxy_pass http://foo;
}

location /bar {
    rewrite ^/bar(.+)$ /$1 break;
    proxy_pass http://bar;
}

1
이것은 내가 찾던 것이 아닙니다. 허용 된 답변보기
markasoftware

1
씹고 소화하는 것은 나의 것이 아니라 요청자 부담이다.
drookie
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.