Блокировать доступ к файлу или местоположению на Nginx

Попробуйте это. Избегает ситуации, когда chroot / mnt echo "$ USER: $ PASS" | chpasswd дает сбой из-за того, что эхо работает внутри chroot, а chpasswd работает вне chroot.

echo "$USER:$PASS" >/mnt/foo
chroot /mnt 'chpasswd </foo'
rm /mnt/foo
4
06.05.2017, 14:25
1 ответ

Приведенная ниже конфигурация должна заставить nginx отвечать на URL-адреса «злоупотребления» статусом 404 и базовой страницей 404 nginx; все остальные URL-адреса, оканчивающиеся на .php, должны быть прокси-сервером, переданными механизму приложения/php, как обычно. Я протестировал некоторые шаблоны, но вам следует протестировать все шаблоны, которыми вы хотите управлять с помощью nginx, а не приложения. Я думал, что эта конфигурация могла иметь некоторые проблемы с URL-адресами, такими как /phpmyadmin/index.php, где регулярное выражение \.php местоположения прокси-прохода имело более высокий приоритет, но мое тестирование показывает это работает, по крайней мере, для меня.
Кроме того, да, было бы лучше, если бы не было так много блоков локаций, но я не могу придумать, как бы вы этого добились.

server {
    listen       80;
    root /home/public_html;
    index index.php;
    server_name  domain.com;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    } 


    location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
    }

    # The ^~ means if this prefix pattern matches use this location block
    # and don't continue onto the regex location blocks - which would load
    # the laravel application
    location ^~ /wordpress/wp-admin/ {
        return 404;
    }
    location ^~ /wp-admin/ {
        return 404;
    }
    location ^~ /test/wp-admin/ {
        return 404;
    }
    location ^~ /hudson/login {
        return 404;
    }
    location ^~ /phpmyadmin/index.php {
        return 404;
    }
    location ^~ /mysql/index.php {
        return 404;
    }
    location ^~ /myadmin/index.php {
        return 404;
    }
    location ^~ /wp-cron.php {
        return 404;
    }
    location ^~ /xmlrpc.php {
        return 404;
    }

} 
13
27.01.2020, 20:50

Теги

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