Задать вопрос

Как заблокировать в nginx доступ к другим доменам, кроме указанных

Здравствуйте.

Есть система всем знакомая
nginx — apache — mod_php — mysql

В nginx-е указываются домены, на которые проксируются на бэкенд. Все работает, только если указать адрес не известный nginx-у, то он почему то проксирует такой запрос на бэкенд. Хотелось бы от этого избавиться. Пытался настроить дефолтный но безуспешно как-то.

Собственно в этом и был вопрос.
Вот собственно пример доступа который нужно запретить (страница апача) 188.134.79.140/ ну и понятное дело для всяких запросов вроде example.com на мой сервер он тоже должен отвечать посылом на 3 буквы, а не передаче беэкэнду и он уже посылает. Получается проблема, мне нужно как-то указать правило, которое не допускает никого кроме указанных адресов, например вот wartur.ru/

ЗЫ: на апачи это делается с помощью виртуального хоста по умолчанию. у меня нгинс почему-то не подхватывает либо я что-то делаю не так?

Спасибо за внимание.
  • Вопрос задан
  • 4897 просмотров
Подписаться 7 Оценить Комментировать
Решения вопроса 1
wartur
@wartur Автор вопроса
listen 80 default_server;

Всем пасиба =). Удачи.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
server {
listen 80 default;
return 403;
или return 444;
}
Ответ написан
allnightlong
@allnightlong
Если я правильно понял, то нужно что-то вроде такого:

server {
server_name _;
return 444;
}
Ответ написан
Комментировать
JustLuckyGuy
@JustLuckyGuy
по-умолчанию, первый указанный сервер дефолтный, т.е. к нему идут все неизвестные запросы, если не указан другой с директивой default_server
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы