【问题标题】:How to include SSL Certificate in Rails 3 project如何在 Rails 3 项目中包含 SSL 证书
【发布时间】:2013-02-04 07:01:41
【问题描述】:

我开发了一个 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 证书; How can I pass SSL options into "rails server" in Rails 3.0?

: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 ] ]

这是添加证书的正确方法吗?每次我尝试启动服务器时,我都需要指定这些选项。

是否有任何其他方法可以在我的项目配置中包含证书路径(或在我的项目中包含证书),以便每次启动服务器时都无需指定证书路径?

感谢任何帮助....

【问题讨论】:

  • 你会在生产中使用瘦吗?
  • 是的,我正计划在生产中使用瘦服务器......
  • 嗯,用 nginx + unicorn 会更好吗?(或乘客)
  • 我正在使用 windows 机器,我最初使用乘客但我听说它只适用于 unix 机器.....
  • 添加ssl证书是所有服务器通用的......对吗?

标签: ruby-on-rails ruby ruby-on-rails-3 thin


【解决方案1】:

在这里我找到了关于将 ssl 添加到瘦的答案:

Thin with SSL support and ruby-debug

如果你想给 nginx 添加 ssl(我建议在生产环境中使用 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;
}

【讨论】:

    猜你喜欢
    • 2015-02-28
    • 1970-01-01
    • 1970-01-01
    • 2018-09-18
    • 2017-06-22
    • 2017-02-03
    • 2023-01-13
    • 2014-08-23
    • 2020-11-19
    相关资源
    最近更新 更多