nginx防盗链怎么配置
时间: 2023-09-25 17:16:42 浏览: 114
防盗链是指防止其他网站盗用自己的资源,例如图片、音频、视频等。Nginx可以通过配置防盗链来限制其他网站对自己资源的访问。以下是一个简单的nginx防盗链配置示例:
```
location / {
valid_referers none blocked example.com;
if ($invalid_referer) {
return 403;
}
}
```
上面的配置中,valid_referers指定允许的referer(即来源),这里设置为none(表示禁止所有referer)、blocked(表示禁止所有空referer)和example.com(表示只允许example.com的referer)。如果referer不在允许列表中,则返回403错误。
注意,这种方式并不是绝对安全的,因为referer可以被伪造。如果需要更安全的防盗链方式,可以考虑使用签名等方式。
相关问题
nginx防盗链配置
Nginx是一款流行的开源Web服务器和反向代理服务器,它支持防盗链功能,可以防止未经授权的请求访问资源。以下是设置Nginx防盗链的基本配置步骤:
1. **开启防盗链**:
在Nginx的`http`或`server`块中添加`access_control_allow`指令,例如:
```nginx
server {
listen 80;
location /protected {
# 添加防盗链限制
access_control_allow_origin "your_allowed_domain.com";
access_control_request_method GET;
if ($request_method != 'GET') {
return 403; # 返回403 Forbidden
}
}
}
```
这里`access_control_allow_origin`指定允许的来源域名。
2. **白名单模式**:
如果希望只允许特定的源,可以设置为白名单,只允许那些在列表中的域名访问:
```nginx
set $allowed_origins "domain1.com, domain2.com";
add_header Access-Control-Allow-Origin $allowed_origins;
```
3. **黑名单模式**:
如果是黑名单模式,可以使用`!~`操作符来阻止某些域:
```nginx
if ($request_uri ~* "/private/*") {
if ($remote_addr !~* "^(your-blacklist-domains)$") {
return 403;
}
}
```
4. **自定义响应头**:
可以根据需要设置其他响应头,比如`Access-Control-Allow-Methods`、`Access-Control-Allow-Headers`等。
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错误。
阅读全文