Você está com uma diretiva listen
ausente:
listen [::]:443 ssl;
Isto diz ao nginx para escutar conexões IPv6. Sua diretiva listen
existente ouve somente conexões IPv4, e isso é confirmado na saída netstat
.
O motivo pelo qual isso é necessário (além da diretiva listen
existente) é que localhost
resolve um endereço IPv6 ::1
além do endereço IPv4 histórico 127.0.0.1
. Mas o IPv6 é o protocolo preferido para fazer conexões. Assim, curl
está tentando se conectar ao nginx via IPv6 e falhando.
É claro que, na Internet global na qual você (provavelmente) eventualmente colocará seu site, você também terá que usar o IPv6, agora ou em um futuro próximo. Então você deve se preparar para isso hoje.