2014-02-19 33 views
0

當前http://www.example.com/由Apache提供。一些前段時間,有運行在內部Rails的博客應用:如何配置Rails應用程序在Apache代理/ reverseproxy後面的路由?

http://192.168.10.1:3000 

現在,我們希望讓用戶從互聯網訪問內部應用程序,所以安裝Apache代理/反向代理爲:

<Location /blog> 
    Order deny,allow 
    Allow from all 
    ProxyPass http://192.168.10.1:3000 
    ProxyPassReverse http://192.168.10.1:3000 
</Location> 

希望用戶可以通過訪問博客的應用程序:

http://www.example.com/blog 

問題是,重定向Rails的路線都是錯誤的,如:http://www.example.com/blog需要登錄,用戶無法登錄是狂勝教育署/login重定向到:

http://www.example.com/login 

(不存在的,和資源,如js和css沒有加載),而不是:

http://www.example.com/blog/login 

有沒有辦法配置軌道路線處理上述要求?或者是不可能代理Apache後面的Rails應用程序?

回答

0

,你可以嘗試使用的.htaccess代理方式:

讓我們認爲這是你的應用程序http://192.168.10.1:3000

創建以下的.htaccess規則:

RewriteRule ^blog/(.*)$ http://192.168.10.1:3000/$1 [P] 
在這個例子中

:客戶訪問http://www.example.com/blog/<anything>鏈接將代理http://192.168.10.1:3000/<anything>

我希望這可以幫助

相關問題