Rails + Passenger on Heroku: set expiry date or a maximum age in the HTTP headers for static assets

I’m using Rails api with an angularjs front-end which is served simply
as
static files under public directory (no sprockets or rails assets
pipeline
involved).

I’ve chosen passenger as the app server, deployed to heroku and
everything
seems to be working fine except for caching.

Since static assets are served directly by passenger/nginx, I’m thinking
this has nothing to do with rails, is this correct?

But I have no idea how to set cache headers or where to add
configurations.

Response headers when requesting a static file
(application-a24e9c3607.js
):

Connection: keep-alive
Content-Length: 0
Date: Thu, 14 Jan 2016 06:45:31 GMT
Etag: “5696ce02-43102”
Last-Modified: Wed, 13 Jan 2016 22:21:54 GMT
Server: nginx/1.8.0
Via: 1.1 vegur

Any help appreciated. Thanks.

On Thursday, January 14, 2016 at 11:49:31 AM UTC, Amr Noman wrote:

But I have no idea how to set cache headers or where to add configurations.

That sounds correct. I don’t know how one does this with nginx but with
apache I configure apache to set an Expires / cache control header for
anything in assets/. It looks
like http://nginx.org/en/docs/http/ngx_http_headers_module.html is the
relevant bits of the nginx docs.

Fred

Thank you Frederick, I figured it out and answered my own question here
http://stackoverflow.com/questions/34783328/rails-passenger-on-heroku-how-to-set-expiry-date-or-a-maximum-age-in-the-http
.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs