Организация 301 редиректа в NGINX

Некоторые посетители упорно набирают www.site.ru вместо site.ru и поисковые боты так и наровят сделать из вашего сайта сразу два, в итоге размазав выдачу.
Для искоренения www будет использовать 301 редирект и nginx

неправильный рабочий вариант (зато можно поместить в дефалт секцию и забыть ;) )
if ($host ~* www\.(.*)) {
    set $host_without_www $1;
    rewrite ^(.*)$ http://$host_without_www$1 permanent;
}


правильный рабочий вариант с двумя секциями server
server {
    listen 80;
    server_name www.site.ru;
    rewrite ^ $scheme://site.ru$request_uri permanent;
}

server {
    listen 80;
    server_name site.ru;
    ............
}


Еще один вариант без rewrite
server {
    listen 80;
    server_name www.site.ru;
    return 301 $scheme://site.ru$request_uri;
}


Обратите внимание, что везде используется ключевое слово permanent.