Radiant (バージョン 0.9.1)、Rails 2.3.18、Ruby 1.8.7 という CMS を使用しています。この gem のルートで「https」を使用する必要があります。gem のソース ファイル自体を編集するのではなく、拡張機能で gem のルートをオーバーライドするようにする必要があります。どうすればいいですか?
1 に答える
0
サーバーの構成は、サーバースタックがどのように見えるかに大きく依存します
SSL を使用するように Rails アプリケーションを構成するには、ssl を強制する必要があります。
config/environments/production.rb で:
config.force_ssl = true
sslをローカルでテストするには、Webサーバーとしてシンを試すことをお勧めします(config.force_sslをdevelopment.rbに入れてこれをテストします)
追加:
gem 'thin'
gemfile に移動し、シン SSL サーバーを起動します。
$ thin start --ssl -p 3000
編集レール 2:
Rails 2 の場合、これは機能するはずです。
lib/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
config/production.rb
config.middleware.use "ForceSSL"
config/application.rb
require File.expand_path('../../lib/force_ssl.rb', __FILE__)
于 2015-12-15T08:55:04.177 に答える