Nginx ограничивает доступ к файлу - PullRequest
0 голосов
/ 06 июля 2018

В настоящее время мой конфигурационный файл (/ etc / nginx / sites-available / default) говорит

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;

    # Add index.php to the list if you are using PHP
    index index.html index.htm index.nginx-debian.html;

    server_name _;

    location /credentials.js {
                deny all;
                return 404;
        }

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        try_files $uri $uri/ =404;
    }

}

но я все еще могу получить доступ к credentials.js через example.com/credentials.js из Интернета. Какие-либо предложения?

1 Ответ

0 голосов
/ 06 июля 2018

Попробуйте добавить = к вашему местоположению, что даст точное совпадение:

server {
    server_name _;
    listen 80 default_server;

    location = /credentials.js {
        deny all;
        return 404;
    }

    location / {
        add_header Content-Type text/plain;
        return 200 "hello world\n\n";
    }
}

Из документов nginx:

Если точное совпадение найдено, поиск прекращается. Например, если запрос «/» происходит часто, определение «location = /» ускорит обработку этих запросов, так как поиск прекращается сразу после первого сравнения. Такое местоположение не может содержать вложенные местоположения.

...