I spent a while talking to the people running my server, and they found the source of my error:
“server security module Mod_reqtimeout was enabled. Mod_reqtimeout is an Apache module used to protect Apache from “slow read” attacks, and by default this module is turned OFF on all shared servers. As you understand, it is enabled only when the server becomes a target of a “slow-read” DDoS and should be disabled after the attack is over.”
Disabling that module solved the problem.
More details about my particular problem: it wasn’t just pdf’s. any file uploaded above 3.5mb or so was getting a http error. I tried uploading from multiple devices, and with multiple browsers. I was using a shared server and didn’t have access to the module in question, so it was just the fault of whoever set up the server.