@bozuriciyu

Как отдавать содержимое директории по proxy_pass?

На одном сервере есть конфиг который просто отдает статическое содержимое

server {
    listen 80;

    server_name static.server;
    root /var/www/cms;

    location / {
      autoindex on;
    }
}


В браузере файлы публично доступны. В папке /var/www/cms директории с именами доменов.

На другом сервере я пытаюсь использовать в proxy_pass, но ничего не работает

upstream static-server {
  server static.server;
}

server {
  listen 80 default_server;
  listen [::]:80 default_server;

  location /static {
    proxy_pass http://static-server/$host/;
  }
}


Как отдавать по локейшену /static содержимое папки $host (название хоста соответствует названию директории)?

Один файл я сделал чтоб работал, но отдача всего содержимое диреткории ее поддиректорий не работает. Эои работает

location = /robots.txt {
    proxy_pass http://static-server/$host/static/robots.txt;
  }
  • Вопрос задан
  • 186 просмотров
Решения вопроса 1
@dodo512
location /static/ {
    proxy_pass http://static-server/$host$uri;
}

Или
location /static/ {
    rewrite (.+) /$host$1 break;
    proxy_pass http://static-server;   
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы