关于Nginx的valid_referers指令,有不太理解的地方
其中, server_names 和 string 有啥区别,server_names 如何使用,
是这样用吗?
valid_referers none blocked server_names www.a.com www.b.com
其中的 server_names 是必须带着的关键词吗?能省略吗?
这样?
valid_referers none blocked www.a.com www.b.com
关于Nginx的valid_referers指令,有不太理解的地方
其中, server_names 和 string 有啥区别,server_names 如何使用,
是这样用吗?
valid_referers none blocked server_names www.a.com www.b.com
其中的 server_names 是必须带着的关键词吗?能省略吗?
这样?
valid_referers none blocked www.a.com www.b.com
8 回答3.1k 阅读
2 回答1.6k 阅读✓ 已解决
1 回答1.3k 阅读✓ 已解决
4 回答1.6k 阅读
1 回答876 阅读✓ 已解决
2 回答1.2k 阅读
1 回答990 阅读
这个是防盗链用的。浏览器在访问页面上的资源的时候,会自动带上一个
Referer
头,比如你打开www.baidu.com
的时候,会发现请求页面上其他资源的时候都会带上一个这样的头:目的是告诉服务端访问该资源是从哪个地址访问过来的。利用这个特性就可以实现简易防盗链。因此nginx的
valid_referers
指令就是指定哪些Referer
是合法有效的头,只有有效的Referer才会访问到资源,否则会添加一个内部的变量$invalid_referer = 1
。server_names
是一个特殊的属性值,代表匹配server_name指令的所有参数。而strings
是你自己自定义的其他主机头或地址,范例官方文档也给你了。