nginx剥离最后修改和if-modified-since标头,但我的rails应用程序需要它们

我的Rails 3.2应用程序使用 – 通过#stale?If-Modified-Since请求中的HTTP头和响应中的Last-Modified头决定是否应该动态生成一些数据。 这在开发中非常有效(无论是使用webrick还是unicorn_rails),因为curl -D headers.txt显示如果提供了正确的If-Modified-Since值,则发送304响应,而Last-Modified标头另外发送请求数据。

不幸的是,一旦部署在nginx之后, If-Modified-Since (提供正确的头部值)都不会传递给unicorn – 因此Rails应用程序 – 也不会Last-Modified传播到客户端:无条件地生成请求并且响应永远不会包含合适的标题。

事实certificate,nginx实际上并没有剥离任何东西。 仪表显示控制器收到If-Modified-Since 。 Rails #stale? 收到包含不良结果的请求,导致一个nil参数,静默吞咽,随后忽略与If-Modified-Since并将Last-Modified定位为nil