PUMA中的HTTPS重定向仅适用于基本URL

时间:2019-06-08 20:34:08

标签: ruby-on-rails ruby-on-rails-5 puma puma-dev

我的puma服务器从http-> https(正在开发中)重定向,但只有一个URL:localhost:3000。一旦我在末尾添加任何内容(即localhost:3000/index),它就不再重定向(并且页面错误也消失了)。

我是否缺少配置选项(或需要注释掉)?我目前在config / puma.rb中有:
ssl_bind 'localhost', '3000' { ... }
force_ssl = true在config / environments / development.rb中。

1 个答案:

答案 0 :(得分:0)

force_ssl应该将所有来自http端口的请求重定向到https,当您尝试通过http连接到https端口时,它无法执行任何操作。

http和https应该绑定到不同的端口(bindssl_bind选项)。通常将HTTP开发服务器的端口设置为3000,因此将ssl绑定到其他端口(例如-8443,https的标准为443,但这是特权)

还为开发指定用于重定向的ssl_options:

config.ssl_options = {  redirect: { status: 307, port: 8443 } }