nginx - configuração de redirecionamento SSL e www

nginx - configuração de redirecionamento SSL e www

isso está relacionado a:
https://stackoverflow.com/questions/24538973/django-allowed-hosts-error-for-www-domain-and-ip-address

Estou tentando redirecionar solicitações www e não SSL para um domínio SSL não www do meu site. estou executando o nginx para servidor web front-end

infelizmente continuo tendo alguns problemas:
* se eu executarhttps://www.domínio.com, recebo um http400
* ainda recebo erros do aplicativo subjacente informando que ele está recebendo solicitações em www.domain.com e <ipaddress>

Alguém pode ajudar a apontar o que há de errado com minha configuração abaixo?

server {
    listen <ip address>:80;
    server_name "";
    return 444;
}


server{
    listen <ip address>:80;

    server_name www.domain.com;
    return 301 $scheme://domain.com$request_uri;
}

#HTTPS server
server{
    listen <ip address>:80;
    listen <ip address>:443 ssl;
    server_name domain.com;

    location / {
        uwsgi_pass  unix:<path to socket file>;
        include /etc/nginx/uwsgi_params;    
    }

    if ($ssl_protocol = ""){
        return 301 https://$host$request_uri;
    }

}

informação relacionada