se você digitar o link , o navegador envia uma solicitação de texto sem formatação ao servidor na porta 80. ao passo que, se você digitar link ele enviará uma solicitação criptografada para a porta 443. o que você está fazendo é enviar um texto sem formatação para https, portanto o servidor da Web espera ser criptografado, mas fica simples.
funcionaria se você fizesse link , então o webrowser sabe que precisa criptografar, mas envia para 80. Eu duvido que você possa espere isso dos usuários.
o que você quer é aceitar tráfego não criptografado em 80 e apenas http redirecionar todas as solicitações para 443. em nginx:
server {
listen server_ip:80;
server_name server_name;
location / {
rewrite ^/(.*) https://server_name permanent;
}
}