Making progress! The /dc location wasn't working because it wasn't just rewriting the url, just proxying, so on my Glassfish server it was looking for /dc/..., which wasn't there.
So for now I'll just use location / and figure out another way to differentiate the dynamic and static content by location.
At least now I can reach Glassfish from nginx, which is pretty cool.
Thanks for the lead!
One question, though... this didn't work:
proxy_pass localhost:8080;
This did:
proxy_pass http://localhost:8080;
What if I want to proxy my ssl too?