2014-03-24 48 views
1

我想使用Nginx上游來平衡應用程序的兩個實例,其中一個在EC2服務器上,另一個在Heroku上。Nginx上游和Heroku

問題是,當我把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

如果我更改代理主機,heroku將無法找到我的應用,因爲它預計主機爲app.herokuapp.com – bwagner