按照此处为 Rails 3.2.x 更新的指南,我希望能够将 Rack::SSL 配置为仅在包含https://
前缀时才使用 SSL 过滤器:
config.force_ssl = true
config.ssl_options = { :exclude => proc { |env| puts 'here? ' + env.to_s; env['HTTPS'] != 'on' } }
但是,https
有效,其中http
失败并出现以下错误:
[2012-10-29 15:37:03] ERROR OpenSSL::SSL::SSLError: SSL_accept returned=1 errno=0 state=SSLv2/v3 read client hello A: http request
/Users/user/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/openssl/ssl-internal.rb:164:in `accept'
插入到 lambda 中的诊断代码不会被执行。如何在 Rails 3.2.x 中配置 Rack:SSL 以同时响应 HTTP 和 HTTPS?
Rails 3.2.8,WEBrick 使用自签名证书配置 SSL。