Началось все с проблем отображения favicon в поисковой выдачи. У части сайтов начали отображаться favicon “соседних” сайтов. Но что еще хуже, некоторые сайты которые не имели ssl версий, стали получать в индексы страницы “соседних”.
Управление сайтами было возложено на панель VestaCP, которая в базовой конфигурации не имеет настроек обработки доменов которых нет, она попросту ссылается на первый конфигурационный файл указанный в vesta.conf.
Такое положение дел явно не устраивало. Первым делом в документации nginx почитали как обрабатываются запросы и узнали, что есть специальный параметр default(до версии 0.8.2) и default_server(для версий выше). Данный параметр используется в секции server. Ниже приводится пример конфигурационного файла для обработки запросов по умолчанию, то есть тех, которые к нам поступили, но сервер не нашел под них подходящих виртуальных хостов. Данный конфигурационный файл назовем 00-default-host.conf, который будет размещаться в корне каталога конфигурации nginx(/etc/nginx)
1 2 3 4 5 6 7 8 9 10 11 12 |
server { server_name _; listen <ip_address>:80 default_server; listen <ip_address>:443 ssl default_server; ssl_certificate /etc/nginx/ssl.00-default-host.crt; ssl_certificate_key /etc/nginx/ssl.00-default-host.key; return 444; access_log /var/log/nginx/00-default-host.access.log; } |
Данная конфигурация имеет специальный код возврата, который сообщает браузеру, что соединение сброшено. При желании сюда можно добавить что угодно. Для того чтоб это взлетело нам необходимо создать само-подписной сертификат. Делается это следующей командой:
1 |
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl.00-default-host.key -out /etc/nginx/ssl.00-default-host.crt |
Теперь необходимо добавить соответствующий include в основном фале конфигурации nginx.conf, почти в самом конце файла:
1 2 3 4 |
# Wildcard include include /etc/nginx/00-default-host.conf; include /etc/nginx/conf.d/*.conf; } |
Ну вот и все, теперь остается только перезапустить сервер nginx и все должно встать на свои места.
Добавить комментарий