如何在Rails 3项目中包含SSL证书
我开发了一个Rails 3项目,它使用thin
作为服务器,以及用于身份validation的Devise和Doorkeeper
我想在我的项目中添加SSL证书。 我已经看到一些post描述了如何在Rails 3项目中使用SSL证书,但没有一个post显示如何在Rails 3项目中添加证书。
我在applicationcontroller.rb
启用了config.force_ssl = true
,我尝试启动瘦服务器,如:
thin start --ssl
它可以在不添加证书的情况下工作,我现在可以使用https://
访问我的网站(从浏览器获取证书未经过validation警告。我希望这是因为我的证书未经CAvalidation)。
最近我看到一篇post展示了如何在Rails 3项目中添加SSL证书; 如何在Rails 3.0中将SSL选项传递到“rails server”?
: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添加到thin的答案:
精简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; }
- 将方法传递给Ruby中的Proc
- 用户的Rails模型结构
- 更新Rails中的每个Array-Object值
- 如何使用XPath访问在JavaScript中呈现的HTML元素?
- 我应该如何存储Twitter令牌,以便用户不必每次都去twitter_oauth?
- Rails错误resource_name – 设计帮助路由和呈现
- 如何使用Nokogiri在某些标签之后或之前获取文本
- Heroku推送被拒绝,Ruby Version Changed Detected,找不到net-scp-1.0.6
- 使用JRuby将Ruby on Rails应用程序的所有.rb文件编译为.class,将其打包成.war并部署到Java appserver中