温馨提示×

ubuntu nginx防盗链策略

小樊
41
2025-10-10 14:57:53
栏目: 智能运维

在Ubuntu上配置Nginx防盗链策略,可以通过修改Nginx的配置文件来实现。防盗链的基本思路是检查HTTP请求头中的Referer字段,如果请求的来源不在允许的列表中,则拒绝访问。

以下是一个基本的防盗链配置示例:

  1. 打开Nginx配置文件:

    sudo nano /etc/nginx/nginx.conf
    
  2. server块中添加防盗链配置:

    server {
        listen 80;
        server_name example.com;
    
        location / {
            # 允许的来源列表
            valid_referers none blocked server_names *.example.com ~sub.example.com;
    
            if ($invalid_referer) {
                return 403 "Forbidden";
            }
    
            # 其他配置...
            root /var/www/html;
            index index.html index.htm;
        }
    }
    

    解释:

    • valid_referers指令用于指定允许的来源。可以是none(不允许任何来源)、blocked(阻止的来源)、server_names(允许的服务器名称)、*.example.com(允许的域名)、~sub.example.com(允许的子域名)等。
    • if ($invalid_referer)用于检查Referer字段是否在允许的列表中,如果不在,则返回403 Forbidden状态码。
  3. 保存并退出编辑器,然后测试Nginx配置:

    sudo nginx -t
    
  4. 如果配置测试通过,重新加载Nginx服务以应用更改:

    sudo systemctl reload nginx
    

这样,Nginx就会根据配置的防盗链策略来检查请求的来源,并拒绝不符合条件的请求。

注意事项

  • Referer字段可以被客户端伪造,因此防盗链策略并不是绝对安全的。
  • 如果需要更复杂的防盗链策略,可以考虑使用第三方模块或服务。
  • 确保在生产环境中使用防盗链策略时,不会误伤合法用户。

通过以上步骤,你可以在Ubuntu上配置Nginx防盗链策略,有效防止资源被盗链。

0