需要用到 `valid_referers` 这个配置,可以用在 server 和 location 上,例如:
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
expires 30d;
valid_referers none blocked firegod.cn www.firegod.cn;
if ($invalid_referer) {
return 403;
}
}
官方的文档:
Syntax: | valid_referers none | blocked | server_names | string ...; |
---|---|
Default: | — |
Context: | server , location |
Specifies the “Referer” request header field values that will cause the embedded $invalid_referer
variable to be set to an empty string. Otherwise, the variable will be set to “1
”. Search for a match is case-insensitive.
Parameters can be as follows:none
the “Referer” field is missing in the request header;blocked
the “Referer” field is present in the request header, but its value has been deleted by a firewall or proxy server; such values are strings that do not start with “http://
” or “https://
”;server_names
the “Referer” request header field contains one of the server names;arbitrary stringdefines a server name and an optional URI prefix. A server name can have an “*
” at the beginning or end. During the checking, the server’s port in the “Referer” field is ignored;regular expressionthe first symbol should be a “~
”. It should be noted that an expression will be matched against the text starting after the “http://
” or “https://
”.
Example:
valid_referers none blocked server_names *.example.com example.* www.example.org/galleries/ ~\.google\.;
Embedded Variables
$invalid_referer
Empty string, if the “Referer” request header field value is considered valid, otherwise “1
”.
了解 工作生活心情记忆 的更多信息
订阅后即可通过电子邮件收到最新文章。