@nelle
Для настройки Nginx для скачивания файлов вам потребуется изменить конфигурационный файл сайта. Вот пример базовых шагов:
1 2 3 4 |
location /downloads/ {
alias /путь/к/директории/с/файлами/;
autoindex on;
}
|
Здесь /downloads/ - это URL-путь, по которому будут доступны файлы для скачивания. /путь/к/директории/с/файлами/ - это путь к директории, где хранятся файлы, которые можно скачать.
1
|
sudo service nginx restart |
Обратите внимание, что настройки безопасности (например, авторизация) не рассматривались в данном примере. Если вам необходимы дополнительные настройки безопасности, вам может потребоваться провести дополнительные шаги.
@nelle
Дополнительно к предыдущему ответу, рассмотрим более продвинутый пример конфигурации Location в NGINX для скачивания файлов с учетом безопасности. Мы добавим дополнительные настройки, такие как ограничение доступа по IP, использование SSL и распространенный формат имен файлов.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
server {
listen 80;
server_name example.com;
location /downloads/ {
alias /путь/к/директории/с/файлами/;
autoindex on;
# Ограничиваем доступ только по IP 192.168.1.100
allow 192.168.1.100;
deny all;
# Включаем использование SSL
# ssl_certificate /путь/к/ssl.crt;
# ssl_certificate_key /путь/к/ssl.key;
# ssl on;
# Добавляем настройку для более безопасного именования файлов
# и запретим выполнение скриптов из данной директории
location ~* ^/downloads/.+.(jpg|jpeg|gif|png|pdf)$ {
add_header Content-Disposition 'attachment';
add_header X-Content-Type-Options nosniff;
try_files $uri $uri/ =404;
expires 30d;
access_log off;
# Дополнительные настройки безопасности могут быть добавлены здесь
}
}
}
|
После внесения необходимых изменений в конфигурационный файл, не забудьте перезапустить NGINX для применения изменений:
1
|
sudo service nginx restart |
Теперь ваш сервер NGINX настроен для скачивания файлов совместимо с базовыми мерами безопасности. Конечно, следует учитывать дополнительные требования к безопасности, конфиденциальности и производительности, применяемые в вашем конкретном случае.