温馨提示×

LNMP架构中Nginx如何配置防盗链

小樊
58
2025-06-12 21:08:33
栏目: 编程语言

在LNMP架构中,Nginx可以通过配置防盗链来限制其他网站直接引用你的图片、视频等资源。防盗链的基本原理是通过检查HTTP请求头中的Referer字段来判断请求是否来自允许的域名。如果Referer不在允许的域名列表中,则拒绝访问。

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

  1. 打开Nginx配置文件,通常位于/etc/nginx/nginx.conf/etc/nginx/sites-available/default

  2. server块中添加以下配置:

location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
    valid_referers none blocked yourdomain.com www.yourdomain.com;
    if ($invalid_referer) {
        rewrite ^/ - [R=403,L];
    }
}

解释:

  • location ~* \.(jpg|jpeg|png|gif|ico|css|js)$:匹配所有以.jpg, .jpeg, .png, .gif, .ico, .css, .js结尾的文件请求。
  • valid_referers none blocked yourdomain.com www.yourdomain.com;:设置允许的Referer。none表示不允许任何Referer,blocked表示允许被Nginx阻止的Referer,yourdomain.comwww.yourdomain.com是你允许的域名。
  • if ($invalid_referer):如果Referer无效,则执行以下操作。
  • rewrite ^/ - [R=403,L]:将无效Referer的请求重定向到403 Forbidden状态码,并停止处理后续配置。
  1. 保存配置文件并退出编辑器。

  2. 重新加载Nginx配置以使更改生效:

sudo nginx -s reload

现在,Nginx将根据配置的防盗链规则限制资源访问。如果请求的资源被其他网站引用且Referer不在允许的域名列表中,用户将收到403 Forbidden错误。

0