Ruby on rails SSL配置

Ruby on rails SSL配置,ruby-on-rails,ssl,Ruby On Rails,Ssl,我正在尝试设置ssl_需求插件。对于我的用户控制器,我希望在新建和创建时需要ssl。当我打开users/new时,浏览器重定向到https,但我收到一条无法连接的错误消息。应用程序错误日志显示: 筛选器链在[:确保\u正确\u协议]呈现\u或\u重定向时停止 我不确定我是否错误地配置了插件,或者我是否在nginx配置中出错 确保您的表单使用安全的url: form_for @user, :url => user_path(:secure => true) 这听起来像是你应该看到的。

我正在尝试设置ssl_需求插件。对于我的用户控制器,我希望在新建和创建时需要ssl。当我打开users/new时,浏览器重定向到https,但我收到一条无法连接的错误消息。应用程序错误日志显示:

筛选器链在[:确保\u正确\u协议]呈现\u或\u重定向时停止


我不确定我是否错误地配置了插件,或者我是否在nginx配置中出错

确保您的
表单使用安全的url:

form_for @user, :url => user_path(:secure => true)
这听起来像是你应该看到的。该请求被识别为http请求,并被重定向到通过https提供服务

如果您在开发机器上,它会将您重定向到,因此如果您的机器上没有在端口443上运行服务器,那么它会抛出一个错误


您的浏览器没有被重定向吗?

当我通过passenger安装nginx时,似乎没有获得ssl模块。我回去自己从源代码安装了nginx。

我正试图在生产服务器上解决这个问题。对于用户/新用户,页面确实从http重定向到https,但浏览器显示无法连接。如何测试nginx端口443以查看ssl设置是否正确?我相信您必须在nginx配置文件中指定侦听端口443的
服务器。该站点有一个示例配置,其中一个应用程序运行在443上:它看起来像是nginx配置问题。我无法启动nginx,出现以下错误:启动nginx:[emerg]:在/opt/nginx/conf/nginx.conf:123中的未知指令“ssl”。这行代码是:ssl\u certificate/etc/ssl/localcerts/domain\u combined.crt;我没有意识到这是必要的;不记得在插件自述中看到过它。文档中可能没有这样说,原因也不清楚,但主要要点是:假设您的页面只接受https上的帖子(使用
ssl\u要求
)。如果您通过http向该表单发布
,它将重定向并通过https重新发布;但是,最初的损坏是由于数据至少通过http发送了一次。基本上——小心你如何使用它,确保你不是完全依赖于gem。