Закрыть доступ по IP в nginx

itpeople

Гуру форума
Регистрация
6 Дек 2007
Сообщения
545
Реакции
64
Есть VPS сервер, только настроен администратором, на нем развернут новый сайт, который находится в процессе разработки.
Нужно просто закрыть доступ со всех ip кроме нескольких. Вроде гугл выдает что достаточно добавить в nginx.conf такие правила:
location / {
allow 127.0.0.1;
deny all;
}
После nginx -s reload продолжаю свободно доступаться до сайта. Раньше имел дело только с htaccess и там все просто было, сейчас не могу разобраться. Перывый раз трогаю nginx.

На сервере есть два конфига nginx.conf - один лежит в /etc/nginx/, второй в корне сайта (в папке public_html).
Пробовал вписывать в оба файла, но всеравно сайт открывается. Подскажите пожалуйста, что не так делаю?
 
какая ОС? (пути могут отличаться)
панель управления есть какая то?
в центе есть путь /etc/nginx/conf.d/site.conf куда обычно кладут конфиг каждого сайта, а не валят в кучу в /etc/nginx/nginx.conf
да и конфиг вашего сайта неплохо было бы привести для пущего разумения (для каждого движка могут быть индивидуально настроены локейшены или вы его ваще как прокси юзаете).
да и куда одмин то делся - ему это 2 минуты вписать как бы.
 
Centos 7x64, путь /etc/nginx/conf.d/ есть но там пусто.
Панель управления ISP Manager



прописывал в http

И это то что в конфиге в корне сайта:
 
поскольку у вас Панель управления ISP Manager то конфиги сайтов скорее всего будут тут : include /etc/nginx/vhosts/*/*; (судя по тому конфигу что вы выложили)
а значит лезть туда и там чего то менять из консоли не есть хорошо (а скорее всего они будут переписаны при следующей активности в панели)
Вывод - идите в Панель управления ISP Manager и там ищите конфигурацию nginx для сайта (панель плохо знаю, но скорее в настройках параметров окружения сайта) и добавляйте что вам нужно
 
Именно то что нужно, последней строчкой этот инклуд спрятался, дошло теперь как оно работает, хотя не понял еще почему не работало через основной конфиг, буду разбираться. Спасибо, все ок теперь.
 
location добавляется в server при чём для того хоста, по которому заходите. Ищите его по путям etc/nginx/vhosts/*/*; или /etc/nginx/vhosts-includes/*.conf;
Если в файле несколько location, правило блокировки добавляйте во все.

Будет здорово, если есть более оптимальный путь это сделать, но у меня получилось только так, но зато без гугла ;)
 
вообще-то в centos + ispmanager настройки виртуалхостов лежат в /etc/nginx/nginx.conf, так что ищите там свой домен и подставляйте значение .
и да, рекомендованно перегружать nginx через service nginx restart
 
Последнее редактирование:
Назад
Сверху