在Rails应用程序中,当通过HTTPS发送以确保cookie不会通过非HTTP连接泄露时,可以轻松地将会话cookie设置为
包括安全cookie
属性.
但是,如果Rails应用程序不使用HTTPS,而只使用HTTP,则它似乎根本不设置cookie.
虽然这确实有意义,但在这种情况下,有一个单独的前端负载均衡器,它负责终止SSL连接.从LB到Rails应用程序,连接只是HTTP.
即使不使用HTTPS,如何强制Rails应用程序设置安全cookie?
根据定义,安全cookie不会通过非安
全连接发送.
终止SSL上游是很常见的,但是您需要传递某些头字段,以便Rails知道并且可以做正确的事情.
Here’s a document为Nginx详细解释了配置.搜索“设置标题”以跳转到描述您需要通过的特定标题的部分.
使用此配置有一些安全注意事项,例如,如果终止SSL的设备与Rails主机不在同一个安全LAN上,那么您就有一个漏洞.