Rails 4.2.6 fresh_when not functioning properly in passenger-standalone production

I’m trying to provide etag and last-modified headers for static page. Locally it works fine and browser gets a 304, however on server with passenger standalone it’s not providing a 304.

From http - Weak ETAGs in Rails? - Stack Overflow it’s clear that even if i give strong etag it’s getting converted to weak etag, the browser request response headers is listed in the following gist: HTTP Cache · GitHub

The interesting fact is that the weak header is not even in the rails request env. However if modify the etag from browser and send as strong etag, it’s getting to rails env. How can I resolve the issue so as to give a 304?

I got the issue. However the issue had nothing to do with passenger or rails. My ISP is using some **** proxy and was removing the If-None-Match headers. Tried another service and is working normally.