Дифференцировать поведение nginx в зависимости от URL-адреса

StackOverflow https://stackoverflow.com/questions/528431

  •  22-08-2019
  •  | 
  •  

Вопрос

У меня есть приложение Django, и я использую nginx для обслуживания статического контента.К сожалению, все зарегистрированные типы MIME отображаются в клиентском браузере, а хотелось бы дать возможность скачивать тот же контент, наряду с обычным поведением.Скажем, у меня есть файл JPEG под /media/images/image01.jpg и я хочу, чтобы nginx обслуживал этот файл обычным способом, со стандартными image/jpeg заголовок, но дополнительно я хочу одинаковый образ, который будет обслуживаться nginx с помощью content-disposition: attachment (эффективно принудительно загружая контент) при доступе, например, /downloads/images/image01.jpg.Кто-нибудь может предложить решение?

Это было полезно?

Решение

Убедитесь, что у вас скомпилирован http_headers_module.(должно быть по умолчанию, если его нет в ядре)

Используйте «вложение для размещения содержимого add_header»;

Я рекомендую использовать URL-адрес типа «/download?file=/downloads/images/image01.jpg» в сочетании с правилом перезаписи, чтобы избежать некоторых досадных ошибок в дальнейшем.

Документация модуля HTTP-заголовков

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top