使用带子域的apache进行反向代理的问题

时间:2012-01-06 20:18:07

标签: apache sinatra reverse-proxy

我正在尝试使用代理主机上的子目录uri执行sintra应用程序的mod_proxy实现。这是我的apache代理配置区域:

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

我遇到的问题是,sinatra渲染页面中的链接不会在链接上产生/ 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 个答案:

答案 0 :(得分:1)

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