I currently have nginx proxying for Thin, but set up to serve static files for the app that Thin is serving instead of proxying the request.
What I'd like to know is how I can check that the rules are set up correctly. Since Thin doesn't log requests, I would need to set up nginx logs in such a way that it shows which requests were served as files and which were passed to Thin. Is this even possible? If so, how?
create a custom log format that includes
$upstream_response_time
- if your backend serves it you should get a number of milliseconds to get a response, if nginx serves it internally you should get a dashDepending on your configuration, it may be easy to achieve. Here is my solution...
Hope this helps!
It's a really dirty hack, but make it so that either Nginx or Thin don't have read permissions to those files. :) That way you'll be able to figure out which one gets an error, hence reading/serving a file.
Alternatively, you should be able to add a custom header to the config block that serves static files. Then you'll be able to see presence of the header or not.