Блокировать доступ к URL-адресу nginx за исключением определенного ip - PullRequest
0 голосов
/ 02 октября 2018

Я пытаюсь заблокировать доступ ко всем файлам внутри www.mysite.net/uploads для всех, кроме некоторых ips.У меня есть php-файлы, документы, изображения и т. Д., И я хотел бы, чтобы весь каталог uploads и все остальное ограничивалось ip.Я попытался настроить два местоположения, но ни один не работает.Что я делаю не так?

Редактировать: Вот мой полный конфигурационный файл

server {
    listen 80;
    listen [::]:80;
    server_name mysite.net www.mysite.net;
    return 302 https://$server_name$request_uri;
}

server {

    # SSL configuration

    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    ssl        on;
    ssl_certificate         /etc/ssl/certs/cert.pem;
    ssl_certificate_key     /etc/ssl/private/key.pem;

    access_log      /var/log/nginx/access.log;
    error_log       /var/log/nginx/error.log;
    rewrite_log     on;

    server_name mysite.net www.mysite.net;
    root /var/www/mysite.net/html;
    index index.php index.html index.htm index.nginx-debian.html;


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


   location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }

    location /api {
        root /var/www/mysite.net/html/api;
        rewrite ^/api/(.*)$ /$1 break;
        try_files $uri $uri/ /api/index.php$is_args$args;
    }

    location ~ /api/.+\.php$ {
        root /var/www/mysite.net/html/api;
        rewrite ^/api/(.*)$ /$1 break;

        #include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }


    location /uploads  {
       alias /var/www/mysite.net/html/uploads;
       allow 1.2.3.4;
       deny all;
    }

    location /uploads/* {
        allow 1.2.3.4;
        deny_all;
    }

}

1 Ответ

0 голосов
/ 02 октября 2018

Вам может потребоваться перезапустить nginx после изменения конфигурации

Также проверьте шаги, указанные в следующей ссылке

https://www.howtogeekpro.com/4/how-to-block-access-to-nginx-except-for-a-specific-ip-address/

...