Thin с поддержкой SSL и ruby-debug

Кто-нибудь знает, как запустить отладчик 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-ключи и сертификаты.

7
задан Kevin 6 January 2012 в 05:08
поделиться