nginx обслуживает статические файлы и запускает сервер на том же хосте

Это почти работает так, как я хочу - в основном я пытаюсь обслуживать статические файлы на host/static (включая списки каталогов) и обслуживать другой бэкэнд для любого нефайлового запроса (включая сайт по умолчанию). Конфигурация ниже, кажется, делает это, но остается ОДНА проблема, что я не могу получить доступ к корневому статическому каталогу с помощью host/static - требуется косая черта! Любые идеи?

Моя конфигурация:

location / {
  try_files /static/$uri /static/$uri/ @myserver;
}

location /static/ {
  alias /var/www/static_files/;
  autoindex on;
  disable_symlinks off;
}

location @myserver {
  proxy_pass              http://localhost:8081;
  proxy_set_header        Host $host;
  proxy_set_header        X-Real-IP $remote_addr;
  proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_connect_timeout   150;
  proxy_send_timeout      100;
  proxy_read_timeout      100;
  proxy_buffers           4 32k;
  client_max_body_size    8m;
  client_body_buffer_size 128k;
}

person ACK_stoverflow    schedule 20.03.2018    source источник
comment
Вы пытались удалить конечный / из операторов location и alias?   -  person Richard Smith    schedule 21.03.2018
comment
@RichardSmith Ха, это сработало! Благодарю вас! (Я надеялся, что это было что-то простое!)   -  person ACK_stoverflow    schedule 21.03.2018


Ответы (1)


Как сказал @RichardSmith, чтобы получить такое поведение, просто удалите косую черту из операторов location и alias.

person ACK_stoverflow    schedule 20.03.2018