Переопределите маршруты Radiant CMS из расширения, чтобы установить протокол на https

Я использую CMS под названием Radiant (версия 0.9.1), Rails 2.3.18 и Ruby 1.8.7. Я должен сделать маршруты в этом драгоценном камне, используя 'https'. Мне нужно сделать это таким образом, чтобы я не редактировал исходные файлы самоцвета, а переопределял маршруты самоцвета в расширении. Как мне это сделать?

1 ответ

Конфигурация сервера действительно зависит от того, как выглядит ваш стек серверов

Чтобы настроить приложение rails на использование SSL, вам нужно принудительно установить ssl

В вашем config/ средах /production.rb:

config.force_ssl = true

Чтобы проверить ssl локально, я бы предложил попробовать тонкий как веб-сервер (также поместите config.force_ssl в development.rb, чтобы проверить это)

Добавлять:

gem 'thin' 

В свой gemfile и запустите тонкий сервер ssl:

$ thin start --ssl -p 3000

РЕДАКТИРОВАТЬ Rails 2:

Для Rails 2 это должно работать:

Библиотека /force_ssl.rb

class ForceSSL
  def initialize(app)
    @app = app
  end

  def call(env)
    if env['HTTPS'] == 'on' || env['HTTP_X_FORWARDED_PROTO'] == 'https'
      @app.call(env)
    else
      req = Rack::Request.new(env)
      [301, { "Location" => req.url.gsub(/^http:/, "https:") }, []]
    end
  end
end

конфиг / production.rb

config.middleware.use "ForceSSL"

конфиг / application.rb

require File.expand_path('../../lib/force_ssl.rb', __FILE__)

source: Force SSL с использованием ssl_requirement в приложении Rails 2

Другие вопросы по тегам