Empty reply from server when trying to redirect HTTP to HTTPS in nginx as a reverse proxy for jenkins

Using the same server block as you for port 80 and 301 redirection, it worked on my setup, with Jenkins (I don't think the application backend has any influence but just to be sure). The problem I got was firewall not open for port 80. You should verify your own firewall.