map $host $host_valid {
"~^(?!.{256})(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+(?:[a-z]{1,63}|xn--[a-z0-9]{1,59})$" 1;
default 0;
}
server {
listen 443 ssl;
server_name ~^(\w+)\.domain.name$;
if ($host_valid = 0) {
return 444;
}
...
}
server_name
с wildcard`ом, который будет обрабатывать любые ваши поддомены, а остальное будет отбиваться.