【发布时间】:2013-09-24 21:09:59
【问题描述】:
在 nginx 中有没有办法只允许具有与当前位置名称匹配的引荐来源网址的客户端访问“位置”?
这是场景:
等等等等
我希望 bar.org 位置的内容仅在引荐来源为 bar.org 时可用。 zeta.net 也是如此
我知道我可以“静态”地做到这一点,但是有很多这样的位置,我需要找到一种方法来做到这一点,只定义一个“动态”位置。
对不起,我的英语不好。
解决方案
我是这样解决的:
location ~/([a-zA-Z0-9\.\-]*)/* {
set $match "$1::$http_referer";
if ($match !~* ^(.+)::http[s]*://[www]*[.]*\1.*$ ) {
return 403;
}
}
【问题讨论】:
-
位置是否有任何规则,例如总是在第一个斜杠之前的字符串(
/)。如果是,我有一个解决方案。 -
是的,位置都采用相同的格式。
-
好的,我知道了。看看我的回答。有任何问题,请随时在这里发表评论。
标签: nginx http-referer