2017-02-20 23 views
0

Я использую nginx в качестве прокси-сервера (с location /) и пытаясь обслуживать статическое изображение для переадресации защиты хотлинк в другом блоке местоположения. Следующее - это то, что я использую, чтобы попытаться служить изображению. Я переместил директиву root за пределами блока location, который был необходим, чтобы nginx по какой-то причине создал правильный путь.Nginx - отправка статического файла для определенного места

location = /hotlink.png { 
    autoindex off; 
    try_files hotlink.png hotlink.png 
} 

Однако, когда я смотрю на журнал, он все еще ищет index.html путем добавления URI к корневому пути: {root}/hotlink.png/index.html. Я просто хочу, чтобы он только отправил файл {root} /hotlink.png, когда /hotlink.png соответствует и все.

Почему он все еще ищет индекс с autoindex off? Как я могу это исправить или есть лучший способ справиться с этим делом в целом?

+1

Удалите инструкцию 'try_files'. –

+0

@RichardSmith Это то, что я изначально имел. Без 'try_files' кажется, что он вообще пропускает блок и отбрасывает блок' location/' – user1137704

+0

Является ли' hotlink.png' реальным файлом? –

ответ

0

После смены передач и возвращения к этому, я заставил его работать, просто переместив указатель autoindex off за пределы блока местоположения. Он работает с или без указания try_files. Я оставил его для ограничения и избежать избыточности.

root /path/to/static/files; 
autoindex off; 

location/{ 
    # proxy 
} 

location = /hotlink.png {}