Отключить публичную загрузку файлов типа .env

Как отключить загрузку файлов в корневую папку?

Например, когда я перехожу по ссылке;

https://example.com/.env

Он загрузит файл .env, и

https://example.com/projectfolder/settings.py

В результате будет загружен файл settings.py.

Как отключить доступ к загрузке?

Я использую Plesk Obsidian и это мои дополнительные директивы nginx в "Apache & nginx Settings" на Plesk (я тестировал только для .env файла):

passenger_enabled on;
passenger_app_type wsgi;
passenger_startup_file passenger_wsgi.py;

location /.env {
     deny all;
}

И .env все еще можно загрузить.

Спасибо.

Оказалось, что кэш хранит мой файл и его нужно очистить, чтобы он не скачивался.

В общем, вот что я исключил из публичного доступа для проекта Django (.env, .py, .pyc, .html):

location = /.env {
    deny all;
    return 404;
}

location ~* /.+\.py$ {
    deny all;
    return 404;
}

location ~* /.+\.pyc$ {
    deny all;
    return 404;
}

location ~* /.+\.html$ {
    deny all;
    return 404;
}
Вернуться на верх