Você precisa de seções separadas do {} servidor em sua configuração para cada site que deseja veicular e, considerando que deseja um comportamento diferente com base no fato de o usuário chegar em http:
ou https:
, elas devem ser definidas como servidor separado { } seções.
Em um deles, você ouviria na porta 80 e o outro ouviria na porta 443 e habilitaria ssl e http2.
No que escuta na porta 80, a única coisa que você deseja declarar nessa seção é um redirecionamento para o mesmo URL, mas com https:
.
No meu site, esses stubs de redirecionamento parecem:
server {
listen 80;
listen [::]:80;
server_name some.example.com;
return 301 https://some.example.com$request_uri;
}