2011-08-12 82 views
1

我試圖安裝一個機架應用程序來加載我的導軌2.3.12在某些控制器中使用ssl的應用程序。直到我請求使用HTTPS,然後我得到的無非是純白色的頁面,上面寫着更加任何網頁一切正常就好了「未找到:/ SOME_PATH」在Rails 2.3.12和HTTPS失敗中安裝機架應用程序

這裏是什麼樣子: https://skitch.com/jimmybaker/fq7js/https-fail

我使用phusion乘客+ nginx + ree部署我的rails應用程序。我把我的config.ru文件在我的Rails應用程序的根,這裏是什麼樣子:

#!/usr/bin/env ruby 
require 'logger' 
require 'config/environment' 
require 'resque/server' 

use Rack::ShowExceptions 

# Set the AUTH env variable to your basic auth password to protect Resque. 
AUTH_PASSWORD = 'xxxxxxx' || ENV['AUTH'] 
if AUTH_PASSWORD 
    Resque::Server.use Rack::Auth::Basic do |username, password| 
    password == AUTH_PASSWORD 
    end 
end 

run Rack::URLMap.new \ 
    '/'  => ActionController::Dispatcher.new, 
    '/resque' => Resque::Server.new 

正如你所看到的,我試圖加載了resque-web前端查看職位在我的redis隊列中。再次,我能夠訪問resque前端,問題是這打破了我的Rails應用程序中需要ssl的所有控制器。

回答

1

我在這裏有完全一樣的東西,但我做到了,以不同的方式:

require File.dirname(__FILE__) + '/config/environment' 
require 'resque/server' 

Resque::Server.class_eval do 

    use Rack::Auth::Basic do |username, password| 
    begin 
     user = User.authenticate(username, password) 
     user && user.is_admin? 
    rescue AuthenticatedSystem::InvalidLogin 
     false 
    end 
    end 

end 

app = Rack::Builder.new { 
    use Rails::Rack::Static 

    map "/resque" do 
    run Resque::Server 
    end 

    map "/" do 
    run ActionController::Dispatcher.new 
    end 
}.to_app 

run app 
+0

我沒有試過,但我要去不久。你是否說這解決了這個問題?我注意到你已經在你的「/」之前將你的/ resque映射到了Rack :: Builder中。我想知道如果這是關鍵.. –

+0

剛剛嘗試過,仍然是同樣的問題。我會稍微研究一下機架,如果找到答案,我會發布答案。 –

相關問題