A maneira mais fácil é retornar para 301 se você tiver um SSL que corresponda aos dois domínios.
Opção sem suporte a SNI
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name example.com www.example.com;
return 301 https://example.com$request_uri;
}
server {
# SSL configuration
#
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
if ($http_host = www.example.com) {
rewrite (.*) https://example.com$request_uri;
}
...
}
Se não, você precisará do SNI, ou outro IP para o registro www e, em seguida, um temp ssl (como o Letsencrypt) para redirecionar seus usuários para o domínio correto.
Opção com suporte a SNI
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name example.com www.example.com;
return 301 https://example.com$request_uri;
}
server {
# SSL configuration
#
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
server_name www.example.com;
return 301 https://example.com$request_uri;
...
}