2017-02-20 30 views
0

我正在使用nginx作为代理(使用location /)并尝试提供用于热链接保护的静态图像重定向到另一个位置块下。以下是我用来尝试投放图片的内容。我已经移除location块之外的root指令,这是nginx由于某种原因而构建正确路径所必需的。 {root}/hotlink.png/index.htmlNginx - 发送特定位置的静态文件

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

然而,当我在看日志,它仍然通过附加的URI根路径寻找一个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 {}