位置块访问控制的奇怪行为

时间:2018-02-07 12:52:31

标签: regex nginx

我使用Nginx的location块与此类似:

location /securelocation {
    allow MY_IP;
    deny all;
}
乍一看,这似乎工作正常。来自MY_IP

  • 访问domain.com/securelocation会返回403 Forbidden
  • 访问domain.com/securelocation/会返回403 Forbidden

但访问任何子文件夹或文件时会出现故障。来自MY_IP

  • 访问domain.com/securelocation/index.html会返回200 OK以及文件内容

使用Nginx的内置基本身份验证失败的方式相同(显然使用401而不是403),尽管this page on nginx.com详细说明了基本身份验证的设置完全相同的location阻止。

我猜这个解决方案涉及某种类型的正则表达式,我并不擅长。一个位置块需要看起来像它包含路径

  • /securelocation
  • /securelocation/
  • /securelocation/index.html

任何 子文件夹和文件的其他组合。

为什么在地球上 Nginx文档在提供任何安全性时完全没用时会详细说明这个设置?

0 个答案:

没有答案