我开发了一个Rails 3项目,它使用thin
作为服务器,以及用于身份验证的Devise和Doorkeeper
我想在我的项目中添加SSL证书。我看过一些描述如何在Rails 3项目中使用SSL证书的帖子,但没有一个展示如何在Rails 3项目中添加证书。
我已经在我的applicationcontroller.rb
中启用了config.force_ssl = true
,我尝试启动瘦服务器,例如:
thin start --ssl
它无需添加证书即可工作,我现在可以使用https://
访问我的网站(从浏览器获取证书未验证警告。我希望这是因为我的证书未经 CA 验证)。
最近我看到一篇帖子,展示了如何在 Rails 3 项目中添加 SSL 证书;如何将SSL选项传递到Rails 3.0中的"rails服务器"中?
:SSLEnable => true,
:SSLVerifyClient => OpenSSL::SSL::VERIFY_NONE,
:SSLPrivateKey => OpenSSL::PKey::RSA.new(File.open(current_dir + "/config/certs/server.key").read),
:SSLCertificate => OpenSSL::X509::Certificate.new(File.open(current_dir + "/config/certs/server.crt").read),
:SSLCertName => [ [ "CN", WEBrick::Utils::getservername ] ]
这是添加证书的正确方法吗?每次尝试启动服务器时,我都需要指定这些选项。
是否有任何其他方法可以在我的项目配置中包含证书路径(或在我的项目中包括证书),以便每次启动服务器时都无需指定证书路径?
任何帮助不胜感激。
在这里,我找到了有关将 ssl 添加到瘦的答案:
具有 SSL 支持和红宝石调试的精简
型如果你想将ssl添加到nginx(我建议在生产中使用nginx),这里描述了如何将证书添加到nginx
http://wiki.nginx.org/HttpSslModule
server {
listen 443;
ssl on;
ssl_certificate /path_to_certificate/cert.pem;
ssl_certificate_key /path_to_certificate/cert.key;
keepalive_timeout 70;
}