@greedline

Как реализовать отдачу разных файлов на HTTP запросы по одному URL?

Доброго времени суток!

У меня есть задача - отдать разные файлы с сервера с помощью NGINX на HTTP запросы, у которых заголовки содержат в себе разные данные ( в нашем случае это будет пользовательский заголовок с числом в виде значения, которое так же будет храниться в БД ).
Вопрос в следующем:
Можно ли реализовать подобную конструкцию используя лишь только NGINX?

Заранее благодарю за ответ.
  • Вопрос задан
  • 46 просмотров
Решения вопроса 1
Для заголовка "X-User-File" что-то вроде:
http {
  # ...
  map $http_x_user_file  $kinofile {
    default 'error.txt';
 
    kino1    movie1.mp4;
    kino2    old/TheMatrix.avi;
  }

  server {
    # ...
    location /film {
      try_files /movies/$kinofile  =404;


p.s. с БД NGINX может работать с помощью доп. модулей, например arut/nginx-mysql-module, но вряд ли это решение вам подойдёт. Так что лучше, наверное, авто-генерить конфиг nginx'а из БД, обновляя тот блок map
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы