ошибки в конфиге не вижу, несколько раз проверил. Возможно ошибка в логике, например идут на другой сервер (не машину, а директиву) или на другой location. Покажите весь конфиг.
include /etc/nginx/mime.types;
default_type application/octet-stream;
# Load modular configuration files from the /etc/nginx/conf.d directory.
# See nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf;
}
------------------------
server {
listen *:80;
server_name site.com www.site.com;
if ($http_host ~ (.*)\.site.com) {
rewrite ^ site.com permanent;
break;
}