nginx valid_referers 配置 1. valid_referers 指令的作用 valid_referers 指令用于在 Nginx 配置中定义合法的 Referer 来源。Nginx 会检查每个请求的 Referer 字段,如果请求的 Referer 来源不在指定的合法来源列表中,Nginx 将根据配置采取相应的操作,如返回 403 错误或执行其他操作。这有助于防止盗链和跨站请求伪造(...
方法1:使用valid_referers指令 Nginx的valid_referers指令允许您定义允许的引用来源,从而限制资源的访问。以下是一个示例配置: 代码语言:javascript 代码运行次数:0 AI代码解释 server{listen80;server_name yourwebsite.com;location/images{valid_referers none blocked yourwebsite.com;if($invalid_referer){return403;...
location /public-content/ { valid_referersnone; } 原理: referer参数的原理是通过Nginx的valid_referers指令来指定合法的Referer来源。Nginx会检查每个请求的Referer字段,如果请求的Referer来源不在指定的合法来源列表中,Nginx将根据配置采取相应的操作,如返回403错误或执行其他操作。 需要注意的是,Referer字段是由客户端...
防盗链功能主要由模块中的valid_referers指令与$invalid_referer变量配合使用,例如下面的配置,允许符合以下规则的请求访问站点。 没有referer,直接在浏览器打开这个URI。 带有referer,但是被修改过值(如proxy)不是以http(s)://开头的字符串。 带有referer, 值是以http(s)://开头的字符串,并且匹配valid_referers列表...
Nginx 提供了valid_referers参数用于检查url中refer参数的状态,首先看下官方配置: Syntax: valid_referers none | blocked | server_names | string ...; Default: — Context: server, location 1 2 3 能看到valid_referers总共有4种值可以使用,none、blocked、server_names、string。
nginx valid_referers 无效 ngx_http_rewrite_module 模块用于通过 PCRE 正则表达式改变请求 URI,返回重定向并可以有条件地选择配置。 break、if、return、rewrite 以及 set 指令的处理顺序如下: 首先按顺序执行在 server 块中指定的该模块的指令 然后循环:
valid_referers 192.168.8.102; #valid_referers 指令,配置是否允许 referer 头部以及允许哪些 referer 访问。192.168.8.102不是ip而是域名(去掉http:// 前缀) if ($invalid_referer) { # 注意这里if后要加空格 return 403; ## 返回错误码 } root /www/resources; ...
valid_referers none blocked example.com; 这样,如果请求的Referer不是example.com,Nginx会返回403 Forbidden错误页面。 总结 通过设置Nginx的invalid_referer指令,我们可以限制请求的来源,防止恶意请求和盗链。在配置文件中添加相应的代码,并定义允许的Referer来源即可实现该功能。
因此nginx的valid_referers指令就是指定哪些Referer是合法有效的头,只有有效的Referer才会访问到资源,否则会添加一个内部的变量$invalid_referer = 1。 server_names是一个特殊的属性值,代表匹配server_name指令的所有参数。而strings是你自己自定义的其他主机头或地址,范例官方文档也给你了。
解决方案:nginx可以通过valid_referers配置进行防盗链配置: valid_referers 语法:valid_referers [none|blocked|server_names] ... 默认值:none 使用字段:server, location 这个指令在referer头的基础上为 $invalid_referer 变量赋值,其值为0或1。 可以使用这个指令来实现防盗链功能,如果valid_referers列表中没有Referer...