Ответ 1
Try:
location ~ (\.php$|myadmin) {
return 403;
}
Я запускаю несколько сайтов за интерфейсом nginx. Все мои сайты находятся в Python/Django. Я вижу в моих журналах много обхода хакерами для различных приложений php - я хотел бы заблокировать их (вернуть 404) в nginx, не поражая мои серверы приложений.
Я хотел бы сделать это глобально в моем файле конфига nginx, чтобы он применим ко всем настройкам для моего сайта.
Итак, как я:
Try:
location ~ (\.php$|myadmin) {
return 403;
}
location
должен отображаться только внутри server
, он не допускается внутри http
.
Итак, единственный вариант - создать файл с вашими общими местоположениями и include
в свои server
s.
Дополняя Dayo-ответ, мы также должны добавить трейлинг-доллар, иначе любой файл, такой как jquery.mousescroller.js
, также будет заблокирован.
location ~ (\.php$|myadmin) {
return 403;
}
Вы также можете попробовать, if
и регулярное выражение. Например, для хранения статических файлов с правилами исключения я сделал это, как показано ниже, чтобы обслуживать файлы отладки js из другого дерева папок. :
location /some/virtual/path/ {
if( $request_uri !~ '\.js$' ) { return 404 ; }
alias /some/real/path/
}