Nginx не обслуживает статические файлы с удаленного сервера при использовании proxy_pass

У меня есть два сервера: на одном размещается веб-сайт и некоторое динамическое содержимое, а на другом - несколько небольших сервисов, но также (предполагается, что они) выступают в качестве файлового хоста из-за большего дискового пространства. Веб-сайт не нужен для файлов, я просто должен иметь возможность просматривать каталог файлов, чтобы найти те, которые мне нужны. Этот сервер частным образом подключен к внешнему серверу, и соединения (общедоступные <=> внешние <=> внутренние) работают нормально.

То, что я пытаюсь сделать, это proxy_pass расположение файлов на внутреннем сервере. Конфиг на внешнем сервере имеет это:

  location /files/ {
  proxy_pass http://10.10.10.3:80/files/;
  autoindex on;
  autoindex_exact_size off;
  }

  location /files/<redacted>/ {
  proxy_pass http://10.10.10.3:80/files/<redacted>/;
  auth_basic on;
  autoindex on;
  autoindex_exact_size off;
  }

Хотя внутренний сервер имеет это:

server {
  server_name my.domain;
  root /var/www/html/mydomain/;
  autoindex on;

  location /files/ {
  autoindex on;
  autoindex_exact_size off;
  }

  location /files/<redacted>/ {
  autoindex on;
  autoindex_exact_size off;
  }

}

Я знаю, что оба разговаривают, и прокси работает, потому что внутренний сервер показывает активность в журналах, что приводит меня к моей проблеме: внутренний сервер выдает 404 вместо того, чтобы показывать мне каталог /files/. Журнал ошибок показывает это:

2019/03/08 21:55:02 [error] 19252#19252: *30 "/var/www/html/mydomain/files/index.html" is not found (2: No such file or directory), client: 10.10.10.7, server: mydomain, request: "GET /files/ HTTP/1.1", host: "mydomain"

Я не понимаю, почему он ищет индексный файл! Я понимаю, что autoindex on; должен исключить это. Как мне обойти это и заставить показать мне мои файлы?

0 ответов

Другие вопросы по тегам