Ruby on rails 在Rails 2.3.12和HTTPS中安装机架应用程序失败
我正在尝试安装一个机架应用程序,以加载我的rails 2.3.12应用程序,该应用程序在某些控制器中使用ssl。在我请求任何使用HTTPS的页面之前,一切都很正常,然后我只得到一个纯白色的页面,上面写着“找不到:/some_path” 下面是它的样子: 我正在使用phusion passenger+nginx+ree部署我的rails应用程序。我将config.ru文件放在rails应用程序的根目录下,如下所示:Ruby on rails 在Rails 2.3.12和HTTPS中安装机架应用程序失败,ruby-on-rails,nginx,passenger,redis,resque,Ruby On Rails,Nginx,Passenger,Redis,Resque,我正在尝试安装一个机架应用程序,以加载我的rails 2.3.12应用程序,该应用程序在某些控制器中使用ssl。在我请求任何使用HTTPS的页面之前,一切都很正常,然后我只得到一个纯白色的页面,上面写着“找不到:/some_path” 下面是它的样子: 我正在使用phusion passenger+nginx+ree部署我的rails应用程序。我将config.ru文件放在rails应用程序的根目录下,如下所示: #!/usr/bin/env ruby require 'logger' req
#!/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的控制器。我这里有完全相同的东西,但我用了不同的方式:
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
我这里有完全相同的东西,但我用了不同的方式:
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
我还没试过这个,但我很快就会试的。你是说这解决了问题吗?我注意到您已在Rack::Builder中将/resque映射到“/”之前。我想知道这是不是关键…刚试过,还是一样的问题。我会在机架上研究一下,如果我找到答案,我会把答案贴出来。我还没试过,但我很快就会。你是说这解决了问题吗?我注意到您已在Rack::Builder中将/resque映射到“/”之前。我想知道这是不是关键…刚试过,还是一样的问题。我会在架子上研究一下,如果我找到答案,我会把它贴出来。