nginx的valid_referers指令——防盗链
时间: 2023-11-06 14:04:13 浏览: 43
nginx的valid_referers指令用于防止恶意盗链。当我们开启防盗链功能后,只有来自指定合法来源的请求才能访问到我们的资源,否则将返回403 Forbidden错误。
valid_referers指令有多个参数,包括none、blocked、server_names、string等,用于指定允许访问的来源。其中,none表示不允许任何来源访问;blocked表示禁止指定来源访问;server_names表示只允许指定域名或IP访问;string表示允许符合指定字符串模式的来源访问。
在nginx的配置文件中,可以通过以下示例代码启用valid_referers指令:
```
location / {
valid_referers none blocked example.com;
if ($invalid_referer) {
return 403;
}
}
```
在以上示例中,我们只允许example.com访问该location下的资源,其他来源将被拒绝。如果请求的来源不在允许范围内,则会返回403 Forbidden错误。
相关问题
怎么配置valid_referers
要使用valid_referers指令来防止盗链,需要在nginx的配置文件中进行相应的配置。下面是一个简单的配置示例:
```
location /protected/ {
valid_referers none blocked example.com *.example.com;
if ($invalid_referer) {
return 403;
}
}
```
在这个配置中,我们指定了/protected/目录下的资源需要进行防盗链处理。valid_referers指令指定了哪些来源可以访问这些资源,这里指定了来源为none(即直接访问)、blocked(即被阻止的请求)、example.com(指定域名)和*.example.com(指定域名的子域名)。如果请求的来源不在指定的列表中,则会被视为盗链请求,nginx会返回403 Forbidden。
需要注意的是,在使用valid_referers指令时,建议同时使用反向代理和SSL加密等技术来提高安全性。
nginx 防盗链 配置
Nginx是一个高性能的开源Web服务器和反向代理服务器,可以用于提供静态内容、负载均衡、反向代理和缓存等功能。防盗链是一种保护资源不被盗链使用的措施,可以通过Nginx的配置来实现。
在Nginx中配置防盗链可以通过以下步骤进行:
1. 打开Nginx的配置文件,一般位于`/etc/nginx/nginx.conf`或`/usr/local/nginx/conf/nginx.conf`。
2. 在`http`块中添加以下配置:
```
http {
...
server {
...
location / {
valid_referers none blocked example.com *.example.com;
if ($invalid_referer) {
return 403;
}
...
}
...
}
...
}
```
在`valid_referers`指令中,可以设置允许的referer来源,可以使用通配符`*`来匹配多个域名。`none`表示不允许referer为空,`blocked`表示不允许referer为被阻止的域名。
3. 保存配置文件并重新加载Nginx配置:`nginx -s reload`。
这样配置后,当有请求访问资源时,Nginx会检查请求的referer是否在允许的列表中,如果不在列表中,则返回403 Forbidden错误。