>>343
redirectとproxyがごっちゃになってる

httpからhttpsにリダイレクトさせるのはnginx側で行うべきことなのでproxy_pass無関係
301とリダイレクト先URLをブラウザに返して、ブラウザ側でページを読み直させる

server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}

リバースプロクシしようとしてリダイレクトループになってる件はその情報だけじゃ分からん