Кто-нибудь знает, как запустить отладчик ruby и SSL одновременно с Thin?
Я успешно использовал Thin с Rails 3.0.10.
Я запускаю его с помощью rails server --debugger
и могу отлаживать свой код.
Недавно мне также потребовалось добавить поддержку SSL в мое приложение, и я хотел бы иметь возможность протестировать ее локально с помощью самозаверяющего сертификата.
К сожалению, я не нашел способа запустить Thin с поддержкой SSL при использовании rails server
.
Я могу успешно запустить Thin с поддержкой SSL, используя:
thin start --ssl --ssl-verify --ssl-key-file ssllocal/server.key
--ssl-cert-file ssllocal/server.crt
Однако я не нашел способа активировать отладчик с помощью thin start
.
Похоже, у меня есть выбор: запустить отладчик ( rails server
) или SSL ( тонкий старт
), но не оба сразу.
Кажется возможным заставить Webrick запускать SSL, используя rails server
, изменив файл rails / script ( см. Здесь ). Я экспериментировал с этим подходом, но безуспешно. Вот одна из попыток:
#!/usr/bin/env ruby
# This command will automatically be run when you run "rails" with Rails 3
# gems installed from the root of your application.
APP_PATH = File.expand_path('../../config/application', __FILE__)
require File.expand_path('../../config/boot', __FILE__)
# THIS IS NEW:
require "rails/commands/server"
require 'rack'
require 'thin'
module Rails
class Server
def default_options
super.merge({
:Port => 3000,
:environment => (ENV['RAILS_ENV'] || "development").dup,
:daemonize => false,
:debugger => false,
:pid => File.expand_path("tmp/pids/server.pid"),
:config => File.expand_path("config.ru"),
:SSLEnable => true
:ssl => true,
"ssl-verify" => true,
"ssl-key-file" => File.expand_path("ssllocal/server.key"),
"ssl-cert-file" => File.expand_path("ssllocal/server.crt")
})
end
end
end
require 'rails/commands'
Примечание: для тех, кому может быть интересно, я создал каталог 'ssllocal' вне своего корневого каталога приложения, и именно там я храню ssl-ключи и сертификаты.