Как настроить редирект с www на без www + HTTPS в Nginx?
Всем спасибо. Сам пришел к правильному решению. Делюсь с вами:server {
    server_name www.example.com example.com;
    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl;

    ssl_certificate /path/to/server.cert;
    ssl_certificate_key /path/to/server.key;

    server_name www.example.com;
    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl;
    ssl_certificate /path/to/server.cert;
    ssl_certificate_key /path/to/server.key;
    server_name example.com;

    <все локации основного домена>
}
Вам нужно сделать 2 сервера для http м для https отдельно, в https сервере нужно прописать listen, настроить сертификаты... Ведь, чтобы клиент мог получить 301 код, ему нужно отправить запрос на сарвер, ваш сервер не слушает на https:)
И ещё я бы рекомендовал использовать так называемые именованные regexp, вместо $1