debian

如何在Debian上配置Nginx防盗链

小樊
44
2025-07-21 04:33:47
栏目: 智能运维

在Debian上配置Nginx防盗链可以通过修改Nginx的配置文件来实现。防盗链的主要目的是防止其他网站直接链接到你的服务器上的资源(如图片、视频等),从而节省带宽并保护你的资源不被滥用。

以下是配置Nginx防盗链的步骤:

  1. 打开Nginx配置文件: 通常,Nginx的主配置文件位于 /etc/nginx/nginx.conf,但防盗链的配置通常放在网站的虚拟主机配置文件中。你可以找到或创建一个虚拟主机配置文件,通常位于 /etc/nginx/sites-available/ 目录下。

    sudo nano /etc/nginx/sites-available/yourdomain.com
    
  2. 添加防盗链配置: 在虚拟主机配置文件中,找到 server 块,并在其中添加防盗链配置。以下是一个示例配置:

    server {
        listen 80;
        server_name yourdomain.com www.yourdomain.com;
    
        location / {
            root /var/www/html;
            index index.html index.htm;
        }
    
        location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
            valid_referers none blocked yourdomain.com *.yourdomain.com;
            if ($invalid_referer) {
                return 403;
            }
        }
    }
    

    解释:

    • valid_referers none blocked yourdomain.com *.yourdomain.com;:允许的引用来源。none 表示没有引用来源,blocked 表示被阻止的引用来源,yourdomain.com*.yourdomain.com 表示允许的域名。
    • if ($invalid_referer) { return 403; }:如果引用来源无效,则返回403 Forbidden状态码。
  3. 启用虚拟主机配置: 如果你创建了一个新的虚拟主机配置文件,需要将其链接到 sites-enabled 目录以启用它。

    sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
    
  4. 测试Nginx配置: 在重新加载Nginx之前,先测试配置文件是否有语法错误。

    sudo nginx -t
    
  5. 重新加载Nginx: 如果配置文件没有问题,重新加载Nginx以应用更改。

    sudo systemctl reload nginx
    

完成以上步骤后,Nginx就会根据配置的防盗链规则来阻止非法引用来源的访问。你可以根据需要调整允许的域名和返回的状态码。

0
看了该问题的人还看了