nginx - настройка перенаправления ssl и www

nginx - настройка перенаправления ssl и www

это связано с:
https://stackoverflow.com/questions/24538973/django-allowed-hosts-error-for-www-domain-and-ip-address

Я пытаюсь перенаправить www и не-ssl запросы на ssl не-www домен для моего сайта. Я использую nginx в качестве внешнего веб-сервера

к сожалению, у меня по-прежнему есть пара проблем:
* если я бегуhttps://www.domain.com, я получаю http400
* я все еще получаю ошибки от базового приложения, которое получает запросы на www.domain.com и < ipaddress >

Может ли кто-нибудь помочь указать на то, что не так с моей конфигурацией ниже?

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

}

Связанный контент