你如何处理开发中的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.

不要担心开发中的SSL

对于开发环境IMO,您不需要运行SSL。 这不值得花时间或麻烦,尤其是随着更多人加入团队。 关于您的路由,我只是将协议保持为开发环境中的http

 protocol = Rails.env.development? ? "http" : "https" map.resource :session, :controller => 'session', :only => [:new, :create, :destroy], :requirements => { :protocol => protocol } 

现在,您需要测试SSL集成的位置在您的临时环境中 – 您在部署到生产之前部署到的位置。 您可以在此处准确复制生产环境。 您的开发环境不需要以相同的方式匹配您的生产环境。

由于您的rails应用程序变得更加复杂,并且您希望使用SSL等高级function,因此最好切换到更贴近您的生产环境的开发环境。 这将允许您创建自己的SSL证书并以一种反映用户使用您的应用程序的方式进行测试。

我建议移动到你在生产中使用的同一个网络服务器,你提到的是apache / passenger。

在一个相关的问题中……你如何使用ssl管理你的测试环境? 为此我正在做你正在做的路线。 有没有更好的办法?