2014-03-24 2 views
1

Nginx 업스트림을 사용하여 응용 프로그램의 두 인스턴스 간의 균형을 조정하고 싶습니다. 그 중 하나는 EC2 서버에 있고 다른 하나는 Heroku에 있습니다.Nginx 업스트림 및 헤루 쿠

app.herokuapp.com을 업스트림 지시문에 넣으면 IP 주소로 연결되고 요청은 IP 주소로 전송되지만 heroku는 호스트를 사용하여 응용 프로그램을 식별하므로 작동하지 않습니다.

나는 이것에 붙어 있습니다. 어떻게해야합니까?


업데이트 : 내 앱도 호스트를 사용하므로이 문제에 집착하고 있습니다. Heroku를 변경할 수 없으므로 원래 신청서와 함께 헤더를 추가하여 응용 프로그램에서 사용할 호스트를 유지해야하므로 Heroku가 내 응용 프로그램을 찾을 수 있습니다.

답변

3

Host 헤더를 프록시에 추가하십시오 .

proxy_pass http://upstream; 
proxy_set_header Host $host; 
.... 
+1

내가 원래 요청 호스트에 호스트를 설정하는 경우 때문에 그것은 나를 위해 작동하지 않았다, 내 응용 프로그램이 가게를 식별 할 호스트를 사용하고 Heroku가이 응용 프로그램을 식별하는 호스트를 사용, Heroku가 찾을 수 없습니다 내 애플 리케이션. – bwagner

+0

@bwgpro,'$ host' 대신 원하는 것을 넣으십시오. –

+0

프록시 호스트를 변경하면 호스트가 app.herokuapp.com – bwagner

관련 문제