While ago, we had an issue when our Rails 3 code was all fine when running locally, but when pushed to production it wasn’t working.
Looking at the log files, it turned out that some of the HTTP headers our code was looking for were missing on production.Our production server runs RoR with Passenger and Nginx and there lies the problem:
If you have underscores in your HTTP headers, Nginx ignores them by default.
To change this behaviour, add this line to the http section of your Nginx configuration file:
underscores_in_headers on;