[bug?] при указании proxy_cache_path с использованием дефолтного пути nginx ругается при проверке конфига

Vadim A. Misbakh-Soloviov nginx на mva.name
Вс Июл 31 07:51:27 UTC 2016


Всем привет!

Хотелось бы спросить у разработчиков, нашёл ли я баг, или это поведение Just 
as planned.

Итак, дано:

1) Кусок конфига, который участвует в драме:
```
110 proxy_cache_path /var/lib/nginx/tmp/proxy levels=1:2 
keys_zone=proxy_cache:128m;
111 }
```
Номера строк указаны для понимания на что ругается проверка синтаксиса.

2) Если блоков `server{}` внутри `http{}` конфиге нету, то проверка синтаксиса 
конфига проходит нормально не смотря на ровно тот же контент строки конфига с 
`proxy_cache_path`.
Если же блоки server есть, то наблюдается вот что:

```
$  nginx -t
nginx: [emerg] the same path name "/var/lib/nginx/tmp/proxy" used in /etc/
nginx/frontends.d/http:110 and in /etc/nginx/frontends.d/http:111
nginx: configuration file /etc/nginx/nginx.conf test failed
```

3) При этом, не важно, где находится `proxy_cache_path`: до инклуда вхостов с 
`server{}` или после. В качстве второго места с дублированием пути синтакс-
чекер всегда указывает строку, закрывающую блок `http{}`.

4) если в `proxy_cache_path` указать путь со слешем на конце - всё становится 
нормально. Но, например, в документации он без слеша.



В общем, хотелось бы спросить, баг ли это и как быть :)


Подробная информация о списке рассылки nginx-ru