通过 referer 进行防盗链保护
# Static configuration
experimental:
plugins:
referer:
moduleName: github.com/moonlightwatch/referer
version: v0.1.2# Dynamic configuration
http:
routers:
my-router:
rule: host(`demo.localhost`)
service: service-foo
entryPoints:
- web
middlewares:
- my-plugin
services:
service-foo:
loadBalancer:
servers:
- url: http://127.0.0.1:5000
middlewares:
my-plugin:
plugin:
referer:
Type: white
EmptyReferer: true
Domains:
- "*.baidu.com"
- "google.com"Type 字段,可以选填:white 或者 black,分别表示白名单模式和黑名单模式。
白名单模式下:
- 匹配
Domains所载域名的referer参数,可以进行访问。 - 若
EmptyReferer为true则允许referer为空的请求进行访问。否则,不允许referer为空的请求进行访问。
黑名单模式下:
- 匹配
Domains所载域名的referer参数,拒绝访问。 - 若
EmptyReferer为true则拒绝referer为空的请求进行访问。否则,允许referer为空的请求进行访问。
Domains 字段,是一个列表,可以填写域名或者以 * 为通配符的子域名。