nginx防盗链配置
时间: 2024-06-21 22:01:38 浏览: 196
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`等。
阅读全文