nginx - configuración de redireccionamiento ssl y www

nginx - configuración de redireccionamiento ssl y www

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

Estoy intentando redirigir solicitudes www y no ssl a un dominio ssl no www para mi sitio. Estoy ejecutando nginx para el servidor web front-end

desafortunadamente sigo teniendo un par de problemas:
* si ejecutohttps://www.dominio.com, obtengo un http400
* todavía recibo errores de la aplicación subyacente que está recibiendo solicitudes en www.dominio.com y < dirección IP >

¿Alguien puede ayudarme a señalar qué está mal con mi configuración a continuación?

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;
    }

}

información relacionada