У меня есть много доменных имен. настроенных как виртуальные хосты в nginx. Все они имеют одинаковый корень документа. Я хочу ограничить доступ к огромному количеству разных ip. Есть ли способ сделать это на самом высоком уровне, а затем в настройках виртуальных хостов? Например, в главном блоке http {}.Запретить доступ к нескольким доменам в том же каталоге
1
A
ответ
0
Да, вы можете использовать ngx_http_geo_module, чтобы заблокировать определенные IP-адреса от доступа к вашим виртуальным хостам. Этот модуль помогает создавать переменные со значениями на основе IP-адреса клиента. Вы можете определить IP-адреса на уровне http. Вот пример.
http {
geo $spamers {
# --allow all --
default no;
#-- block these bad ips --
192.0.171.118 spam;
192.0.179.119 spam;
192.0.179.120 spam;
192.128.168.0/20 spam;
}
Вы можете добавить столько IP-адреса, которые вы хотите, а затем в местоположении блоков серверов, которые вы хотите, чтобы ограничить этот IP-адрес, вы можете добавить проверку
location ~* /mysite/www/ {
if ($spamers = spam) {
# -- Return a forbidden message
return 403;
}
Смежные вопросы
- 1. HTACCESS - ограничить доступ к нескольким доменам/сценариям
- 2. Доступ к файлу для доступа к нескольким доменам Simple_XML отключен
- 3. Доступ к файлам в том же каталоге, что и скрипт
- 4. Хранение и доступ к пользовательским данным по нескольким доменам
- 5. Единый вход по нескольким доменам
- 6. принадлежит нескольким доменам
- 7. Одиночный выезд по нескольким доменам
- 8. Подключить базу данных MySQL к нескольким доменам
- 9. AS3, доступ к другим доменам
- 10. Python, найти файл в том же каталоге
- 11. Как запретить прямой доступ к файлам в каталоге AJAX
- 12. Определить доступ к внешним доменам в Phonegap
- 13. скрипт bash для добавления строки к нескольким файлам в том же каталоге
- 14. Наилучший подход к поддержанию сессионных варов по нескольким доменам
- 15. Запретить доступ к favicon
- 16. PHP google analytics Отслеживание по нескольким доменам
- 17. Запретить доступ к файлу
- 18. Как настроить общий доступ к документам по нескольким доменам и культурам
- 19. Чтение из файла в том же каталоге
- 20. Доступ к доменам из неправильной темы Android
- 21. Доступ к нескольким виджетам
- 22. PHP Список файлов в том же каталоге
- 23. gulp переименовать файл в том же каталоге
- 24. ImportError с модулем в том же каталоге
- 25. .htaccess несколько переписывает в том же каталоге
- 26. Проблема импорта объекта в том же каталоге
- 27. питон - модуль импорта в том же каталоге
- 28. Cross импорта в том же каталоге
- 29. Несколько репозиториев git в том же каталоге
- 30. hibernate.hbm2ddl.import_files в том же каталоге не работает
Спасибо за ответ. Это требует той же работы, что и я. Я добавил все плохие ips в файл, в простые директивы deny, а затем включил этот файл в блоки местоположения в каждой конфигурации виртуального хоста. Мне было любопытно, можно ли это сделать, не касаясь конфигураций виртуальных хостов. – Weirdei
Вы должны добавить эти правила во все серверные блоки (вам не нужно писать в каждом блоке местоположения). Поведение nginx по умолчанию заключается в том, что когда приходит запрос, он сопоставляет поля заголовка запросов «Host» с вашими определенными виртуальными серверами. Таким образом, запрос будет напрямую отправляться на этот серверный блок. – dev0