Tag: https

Rails + SSL:每个控制器还是整个​​应用程序?

我可以使用任何使用过Rails和SSL的开发人员的智慧。 我有一个相当简单的应用程序,我正在实施付款处理。 显然,付款处理需要SSL,所以我现在正在设置它。 我今天开始研究这个问题的目的是找到在特定控制器操作上强制执行SSL的最简单/最干净的方法 – 即与支付有关的任何事情。 我认为没有理由在SSL上运行我的其余网站。 我找到了ssl_requirement gem ,它似乎可以毫不费力地设置SSL每个控制器动作,所以这很好。 我还发现这个问题似乎表明用gem处理SSL现在已经不合时宜了。 我还发现了一些答案/评论等建议网站应该使用像Rack-SSL这样的Rack中间件来强制整个网站进入SSL模式。 所以现在我有点困惑,不知道该怎么做。 任何有使用Rails 3和SSL经验的人都可以帮助我理解: 我是应该强制整个站点使用SSL,还是仅按某些操作强制执行。 在Rails中使用SSL需要注意什么(我之前从未做过)。 如果每个控制器都是要走的路,那么使用ssl-requirement demand gem是否合理,或者我是否只应该使用新的路由和链接帮助器选项…… 我非常感谢你的洞察力,这对我来说已成为一个瘫痪的决定。 谢谢!

在设计上设置ssl

我想要在设计上为用户资源要求ssl身份validation。 我期待它像在rails中一样简单,例如: devise_for :users, :constraints => { :protocol => “https” } 此外,我找不到关于devise的github的任何文档,尽管我在google组中发现了一些指向它的死链接。 有没有人提示如何让它轻松工作? 考虑到插件的流行,我觉得我很简单

你如何处理开发中的SSL?

我有一个应用程序,它的一些路由与ssl_requirement插件一起使用HTTPS。 它已部署并在生产中正常运行。 问题是如何在开发中最好地处理这个问题,因为目前我只是在routes.rb我的routes.rb来删除:requirements键,显然这不是很方便或优雅: map.resource :session, :controller => ‘session’, :only => [:new, :create, :destroy], :requirements => { :protocol => ‘https’ } 理想情况下,我希望能够在Mongrel上开发我的应用程序的安全部分而不做任何更改。 我怎样才能做到这一点? 我正在使用Mac OS X.

如何在rails中默认使cookie安全(仅限https)?

在Rails控制器中,我可以像这样设置一个cookie: cookies[:foo] = “bar” 并指定“安全”(https-only)标志如下: cookies[:foo, :secure => true] = “bar” :secure默认情况下, :secure为false。 如何在应用程序范围内默认使用cookie? 这是在Rails 2.3.8上

使用Ruby on Rails进行SSL

我需要做些什么才能让我的ruby在rails应用程序上获得流量以使用https? 我安装了证书,如果我在访问网站时在地址栏中手动输入“https://”,则会出现小锁图标,但只需在浏览器中手动转到www.example-app.com即可通过http发送流量://。 是否有一些单行配置还是比它更复杂? 我以前从来没有处理过SSL,所以请原谅我听起来我不知道发生了什么。 我正在MediaTemple中托管(gs),如果这很重要或任何人都有这样的设置经验。

Rails:激活SSL支持让Chrome感到困惑

有一个很好的选项来配置Rails应用程序: config.force_ssl = true 但是,似乎只是将其设置为true并不能使HTTPS连接正常工作。 更多 – 尝试(并失败)使用Chrome连接到https:// localhost:3000后,我将此选项设置为false,即使我写了http,Chrome仍会尝试打开https。 所以,几个问题: – 如何强迫Chrome不再尝试https? – 在我的Rails应用程序上启用SSL的正确方法是什么? 更新:该应用程序在Heroku上运行,似乎自动支持https。 我可以在本地测试SSL吗? 喜欢运行rails服务器?

机架ssl无法使用Thin

我按照以下说明为Rails 3.07安装了机架ssl: http : //www.simonecarletti.com/blog/2011/05/configuring-rails-3-https-ssl/ 它不起作用。 发出第一个https请求(用于登录页面)并安全地提供页面,但是当您登录时,它会重定向到不安全的http URL。 我正在运行瘦服务器。 它适用于Thin吗? Webrick怎么样? 有任何想法吗? 谢谢。

在RSpec Rails中测试HTTPS(SSL)请求

我想利用rails 3.1rc4中的force_sslfunction 。 class ApplicationController < ActionController::Base force_ssl end 问题是这打破了我现有的RSpec控制器规格的大部分/全部。 例如,这失败了: describe “GET ‘index'” do it “renders the Start page” do get :index response.should render_template ‘index’ end end 而不是呈现页面响应是301重定向到https://test.host/ 。 如何更改我的规范以模拟HTTPS GET / POST? 我是否必须手动更改每个测试或是否有更简单的方法? (我意识到我只能在生产中调用force_ssl ,但这并不理想。实际上,我应该测试force_ssl确实会在预期时重定向到https://。)

Rails重定向与https

我正在维护一个Ruby on Rails站点,我对如何使用https协议重定向到相对URL感到困惑。 我可以使用http成功创建重定向到相对URL,例如: redirect_to “/some_directory/” 但我无法辨别如何使用https协议创建重定向到URL。 我只能通过使用绝对URL来实现,例如: redirect_to “https://mysite.com/some_directory/” 我想保持我的代码干净,使用相对URL似乎是个好主意。 有谁知道如何在Rails中实现这一目标?

Ruby on Rails HTTPS发布错误请求

问候所有。 我的应用程序适用于远程服务器。 服务器使用证书的https授权。 我有以下代码来授权和发送请求: uri = URI.parse(“https://db1-test.content.ertelecom.ru/”) http = Net::HTTP.new(uri.host, ‘443’) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_PEER http.ca_file = File.join(File.dirname(“public/certificate.pem”), “certificate.pem”) http.start do |http| req = Net::HTTP::Get.new(“/cgi-bin/expr/export.get_pay_systems?partner_id=1003”) responce = http.request(req) resp = responce.body end 这段代码效果很好,我从服务器获取数据。 但是当我尝试发出POST请求时: http.start do |http| req = Net::HTTP::Post.new(“/cgi-bin/expr/payment_transactions.verify_order”, params) responce = http.request(req) resp = responce.body end 我从服务器收到错误: Your browser sent a […]