2

我开发了一个thin用作服务器的 Rails 3 项目,以及用于身份验证的 Devise 和 Doorkeeper

我想在我的项目中添加 SSL 证书。我看过一些描述如何在 Rails 3 项目中使用 SSL 证书的帖子,但没有一个显示如何在 Rails 3 项目中添加证书。

config.force_ssl = true我已经在我的 中启用了applicationcontroller.rb,我尝试启动瘦服务器,例如:

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

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

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

任何帮助表示赞赏....

4

1 回答 1

4

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

带有 SSL 支持和 ruby​​-debug 的瘦身

如果您想将 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;
}
于 2013-02-04T09:24:07.587 回答