我有一个Rails应用程序,有config.force_ssl = true个,但现在我不想要SSL加密,但我的应用程序仍在重定向到https.我听说这是Apache上HTTP严格的传输安全问题.我怎样才能禁用它?

推荐答案

Apache没有问题,但Rails发送了一个HSTS头.

在Chrome中,您可以通过进入about:net-internals清除HSTS状态,如ImperialViolet: HSTS UI in Chrome所述.您可能还需要清除缓存,因为config.force_ssl = true还使用301(永久)重定向.

此外,根据this answer,您还可以让应用程序发送一个最大年龄为0的STS头.在控制器中:

response.headers["Strict-Transport-Security"] = 'max-age=0'

Ruby-on-rails相关问答推荐

Rails TurboStream:可以向元素动态添加一个css类吗?

GO AES GCM加密在解密时出错&S

使用带有 Paper Trail gem 的子类

Rails:当 id 方法为非标准时构建关联

从 rails 5 升级到 6 和 zeitwerk

Rails 连接并包含连接表中的列

设计 token_authenticable 已弃用,有什么替代方案?

如何将动态 Ruby 代码嵌入到 Slim 模板中的javascript部分?

使用 RVM 时如何安装 Ruby gem?

Rails 3:如何正确显示textarea中的文本?

如何验证 ActiveRecord 中邮箱字段的格式?

关闭 Firefox 中文本字段的自动完成功能

RubyMine - 关闭在空行中间单击的功能

Rails Associations - has_many => :through - 但相同的模型

ActiveRecord 事务中的错误处理?

Rails:一次添加多个 flash[:notice] 的简单方法

如何在 Rails 迁移中判断数据库类型?

使用 ActiveRecord 获取列名

从模型中获取验证

是否可以输出rake db:migrate产生的 SQL 更改脚本?