nginx的valid_referers指令——防盗链
时间: 2023-11-06 14:04:16 浏览: 55
nginx的valid_referers指令可以用来防止其他网站盗用你的图片或者其他资源,从而保护你的网站资源的安全和完整性。该指令可以设置一个referer白名单,只允许来自指定域名或者指定URL的请求访问你的网站资源。比如,你可以通过以下的设置来实现只允许来自www.example.com和example.com两个域名的访问:
```
location /images/ {
valid_referers none blocked www.example.com example.com;
if ($invalid_referer) {
return 403;
}
}
```
这样,如果有其他的网站盗用了你的图片,当他们在自己的网站上访问你的图片时,nginx会检查referer头部信息,如果不在白名单中,则会返回403禁止访问的错误页面。
相关问题
怎么配置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错误。