2012-03-01 5 views
0

요청을 올바른 응용 프로그램 서버로 전달할 역방향 프록시를 설정해야합니다. 예를 들어 백그라운드에서 두 개의 응용 프로그램 서버가 실행 중입니다. 한 서버는 레일즈를 실행하고 다른 서버는 장고를 실행합니다. 리버스 프록시에 요청이 들어 오면 요청을 레일스 앱 서버로 보냅니다. Rails 응용 프로그램 서버가 요청을 지원하지 않아 해당 요청을 처리 할 수없는 경우 Rails 응용 프로그램 서버는 404를 역방향 프록시에 반환하고 역방향 프록시는 Django 응용 프로그램 서버에 요청을 보냅니다. 올바른 것).역방향 프록시 설정

누구나이 스택이나이 역방향 프록시에 적합한 후보를 알 수 있습니까? Ruby와 관련된 것이 좋을지라도 반드시 필요하지는 않습니다.

답변

2
server { 
    Location/{ 
     error_page 404 /django$request_uri; 

     rewrite ^/django_specific_url_1$ /django$request_uri? last; 
     rewrite ^/django_specific_url_2$ /django$request_uri? last; 
     ... 
     rewrite ^/django_specific_url_n$ /django$request_uri? last; 

     proxy_pass http://127.0.0.1:ruby_port; 
    } 

    Location /django { 
     internal; 
     proxy_pass http://127.0.0.1:django_port$request_uri; 
    } 
} 
+0

감사합니다. 동일한 시나리오를 사용하지만 추가 조건이 추가 된 다른 질문이 있습니다. 특정 URL 집합과 일치하는 경우 기본적으로 서버 # 2에 요청을 항상 전달하도록 어떻게 가져 옵니까? 감사! – RubyFanatic

+1

새 쿼리를 해결하기 위해 질문을 수정했습니다. 새로운 조건을 소개하는 항목을 따를 때 새로운 조건을 새로 작성해야합니다. – Dayo

+0

고마워. 꽤 많이 필요한 것! – RubyFanatic