Приветствую всех.
Вначале скажу, что мануал почитал, в поисковиках решение искал, на рабочем проекте наэкспериментировался, но сделать что требовалось не смог, поэтому прошу помощи у сообщества.
Итак, задача вроде как банальная, запретить доступ в NGINX ко всем несуществующим доменам третьего уровня у сайта site2.ru по SSL (по 80 порту запрет есть в данный момент). Т.е. сейчас браузер по несуществующему имени, например, t.site2.ru ничего не показывает, т.к. ssl-сертификат действителен только для основного домена, но поисковик при этом получает содержание site2.ru, а должен получать 403-код ответа.
В Итернет абсолютное большинство решений для 80 порта, но вроде как с 443 тоже самое, в итоге решение сводится к следующему, необходимо в конфигурационный файл NGINX добавить запись:
server {
listen 443 default_server;
server_name _;
access_log /dev/null;
error_log /dev/null;
return 403;
}
Но если таковую добавить у меня перестает открываться и основной домен (в примере ниже это site2.ru)!
В итоге мой файл выглядит в сокращенном виде следующим образом:
http {
server {
listen 80 default;
server_name site1.ru www.site1.ru;
error_log /dev/null;
access_log /dev/null;
return 444;
}
server {
listen 80;
server_name site2.ru www.site2.ru;
return 301 https://$host$request_uri;
}
############## если добавить, что советуют в Интернет ##############
server {
listen 443 default_server;
server_name _;
access_log /dev/null;
error_log /dev/null;
return 403;
}
########################################################
server {
listen 443 ssl http2;
server_name site2.ru www.site2.ru;
...
}
}
Как же решить задачу и запретить доступ в NGINX ко всем несуществующим доменам третьего уровня у сайта site2.ru по SSL (443 порт)?