Isso
server {
listen 80;
server_name example.com;
return 301 $scheme://www.example.com$request_uri;
}
redirecionará example.com para www.example.com e isso
server {
listen 80;
server_name www.example.com;
location / {
root /var/www/example.com;
index index.html index.htm;
}
}
servirá www.example.com.
Você pode fazer o mesmo para https, mas é improvável que alguém insista com muito cuidado https: // e o endereço não canônico, por isso
server {
listen 443;
server_name www.example.com;
ssl on;
ssl_certificate /etc/ssl/private/www.example.com.crt;
ssl_certificate_key /etc/ssl/private/www.example.com.key;
ssl_session_timeout 10m;
ssl_session_cache shared:SSL:10m;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers HIGH:!ADH:!MD5;
ssl_prefer_server_ciphers on;
location / {
root /var/www/example.com;
index index.html index.htm;
}
}
deve ser suficiente.