Nginx invalid_referer
时间: 2023-05-22 15:02:00 浏览: 59
这是一个 Nginx 的配置选项,用于限制请求来源。当请求的来源不在指定的列表中时,Nginx 会返回 403 Forbidden 错误。可以通过设置 valid_referers 来指定允许的请求来源列表。如果没有设置 valid_referers,那么 invalid_referer 将会被忽略。
相关问题
nginx的valid_referers指令——防盗链
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禁止访问的错误页面。
nginx的valid_referers指令怎么配置
nginx的valid_referers指令可以在nginx的http、server、location等块中进行配置。下面是一个在location块中配置valid_referers指令的示例:
```
location / {
valid_referers none blocked example.com;
if ($invalid_referer) {
return 403;
}
}
```
在以上示例中,我们允许example.com访问该location下的资源,其他来源将被拒绝。如果请求的来源不在允许范围内,则会返回403 Forbidden错误。
valid_referers指令支持多个参数,包括none、blocked、server_names、string等。下面是各个参数的含义:
- none:表示不允许任何来源访问。
- blocked:表示禁止指定来源访问。
- server_names:表示只允许指定域名或IP访问。
- string:表示允许符合指定字符串模式的来源访问。
如果需要设置多个参数,可以使用空格分隔。例如:
```
valid_referers none blocked example.com *.example.com;
```
在以上示例中,我们允许example.com和所有以.example.com结尾的域名访问资源,其他来源将被拒绝。