Очень часто (особенно, если на сервере установлена панель управления вроде ISPManager) при добавлении первого сайта для него устанавливается основной IP-адрес. В итоге сайт доступен не только по своему адресу, но и по IP-адресу сервера.
Для того чтобы в nginx запретить открытие сайта по IP-адресу — достаточно в конфигурационном файле (как правило это /etc/nginx/nginx.conf) добавить новую секцию server, которая и будет обрабатывать такие запросы. Разумеется, добавлять её нужно строго перед всеми остальными секциями «server {…}»:
server {
listen 192.168.0.123:80 default_server;
listen 192.168.0.123:443 default_server;
server_name _;
return 444;
}
192.168.0.123 — это ваш IP адрес на котором размещен сайт. Его нужно заменить на актуальный.
После этого останется только перезагрузить nginx.
Где находится в Весте этот конфигурационный файл — /etc/nginx/nginx.conf
(где его найти)?
В Весте это можно сделать через https://IP_ВАШЕГО_СЕРВЕРА:8083/edit/server/nginx/ , клик по «ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ» внизу страницы.
При правке конфига — будьте очень осторожны! Малейшая ошибка уложит сайты в нокаут.
При правке конфига — будьте очень осторожны! Малейшая ошибка уложит сайты в нокаут.
Спасибо, что предупредили.
Отпало желание исправлять, оставлю всё как есть))
Да там на самом деле ничего страшного, но лучше править конфиг подключившись к серверу по ssh — тогда есть возможность просто перед редактированием сделать копию файла который правится и в случае ошибки просто скопировать обратно с заменой.
Кроме того после правки nginx.conf можно в консоли выполнить
nginx -t
для проверки на синтаксические ошибки.
У меня ошибка — не в nginx.config нужно писать, а в sites-enabled, скорее всего. Только всё равно не выходит))
Нужно прописывать перед всеми остальными секциями «server» остальных сайтов. Конкретный файл зависит от структуры конфигов нжинкса на Вашем сервере.
Какую ошибку получаете?
Туда же нужно добавить секцию с https-сертификатами для варианта с 443 портом:
ssl_certificate /path/fullchain.pem;
ssl_certificate_key /path/privkey.pem;
ssl_trusted_certificate /path/chain.pem;