So civicrm case and extensions like simple donate use a path that includes the # character. When running on apache these work fine, but when I moved the site over to nginx, they stopped working. so I am assuming that I need a specific nginx location directive to handle this, but haven't been able to figure out what.
I'm not sure it's an issue on nginx (as the information after the # is never sent to the servers anyway).
It's more likely an issue of a url that is incorrect, for instance if the url of extension isn't properly defined
You have an error with the configuration of your nginx that doesn't properly redirect to drupal your url in error (assuming the url is correct, cf my other answer).
What configuration did you choose for your drupal/nginx? I started with that one and whitelisted a few more urls (in extern/ folder) https://github.com/perusio/drupal-with-nginx and it works fin