2012-01-06 98 views
1

我想在代理主機上使用子目錄uri來執行sintra應用程序的mod_proxy實現。這裏是我的Apache代理配置區域:使用帶有子域的apache做反向代理問題

ProxyRequests Off 
ProxyPass /api/ http://127.0.0.1:9292/ 
ProxyPassReverse /api/ http://127.0.0.1:9292/ 
ProxyPreserveHost on 

我遇到的問題是,是,西納特拉呈現的頁面中的鏈接不會造成/ API前綴上的鏈接...例如,當我ERB模板內做to('/some_page'),它給了我

http://www.externalhost.com/some_page

,而不是

http://www.externalhost.com/api/some_page

有誰知道如何正確地做到這一點,其中子目錄將生成的URL兌現?要運行的後端服務器,我只是使用默認爲:rackup config.ru在我的配置是:不必有

require 'rubygems' 
load File.join(File.dirname(__FILE__), 'app.rb') 
run App 

回答

1
ProxyRequests Off 
ProxyPass /api/ http://127.0.0.1:9292/api/ 
ProxyPassReverse /api/ http://127.0.0.1:9292/api/ 
ProxyPreserveHost on 
+0

我試圖做到這一點/ API /目的地,但是這樣做是正確的。謝謝! – ejlevin1 2012-01-09 23:07:48