如何在Rails中设置“Connection:close”标头

时间:2010-08-16 20:03:32

标签: ruby-on-rails http-headers

要修复Safari在上传文件时频繁挂起的问题,我需要向我的Rails服务器发出请求,让它返回一个带有“Connection:close”标题的空体。有关此修复程序的更多详细信息,请参见here

到目前为止,我已经尝试过:

def close
  return head :ok, {'Connection' => 'close'}
end

def close
  response.headers['Connection'] = 'close'
  render :nothing => true
end

def close
   response.headers['Connection'] = 'close'
   return head :ok
end

这些方法似乎都不起作用。在Firebug和Safari的开发人员控制台中检查请求显示响应标头Connection始终设置为“keep-alive”

我正在使用Mongrel和Nginx运行Rails 2.3.5。设置诸如Content-Type之类的标题确实有用。

有关如何解决此问题的任何想法?

1 个答案:

答案 0 :(得分:0)

所以我从未想过如何在Rails中做到这一点,但我确实发现nginx版本0.7.66+禁用了Safari的keepalive连接。请参阅nginx changelog

所以我升级了我的nginx,现在一切都很适合Safari。