你如何处理开发中的SSL?

Joh*_*ley 12 ssl https mongrel ruby-on-rails

我有一个应用程序,它与ssl_requirement插件一起使用HTTPS的一些路由.它已部署并在生产中正常运行.

问题是在开发过程中如何最好地处理这个问题,因为目前我只是在劈砍我routes.rb取下:requirements钥匙,显然这不是很方便或优雅:

map.resource :session, :controller => 'session',
                       :only => [:new, :create, :destroy],
                       :requirements => { :protocol => 'https' }
Run Code Online (Sandbox Code Playgroud)

理想情况下,我希望能够在Mongrel上开发我的应用程序的安全部分而不做任何更改.我怎样才能做到这一点?我正在使用Mac OS X.

Rya*_*ary 8

不要担心开发中的SSL

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

protocol = Rails.env.development? ? "http" : "https"

map.resource :session, :controller => 'session',
                       :only => [:new, :create, :destroy],
                       :requirements => { :protocol => protocol }
Run Code Online (Sandbox Code Playgroud)

现在,你需要测试你的SSL一体化是您升级的环境-在这里你要部署之前,为了部署到生产的地方.您可以在此处准确复制生产环境.您的开发环境不需要以相同的方式匹配您的生产环境.


jon*_*nii 7

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

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

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