@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 настроен для скачивания файлов совместимо с базовыми мерами безопасности. Конечно, следует учитывать дополнительные требования к безопасности, конфиденциальности и производительности, применяемые в вашем конкретном случае.