外链一经发布,即可永久留存
5元就可把锚文本外链发布到200个新闻网站

nginx 防外链,nginx 屏蔽外链

nginx 防外链,nginx 屏蔽外链

什么是外链?

外链就是指其他网站直接使用你网站上的资源(图片、视频、音频、CSS文件等)的情况。

为什么要防外链?

防外链是为了保护自己网站资源的版权,防止资源被盗用,降低服务器负担。

nginx如何实现防外链?

下面这段代码可以实现基本的防盗链功能:

location ~* \\.(jpg|jpeg|png|gif)$ {
  valid_referers none blocked yourwebsite.com;
  if ($invalid_referer) {
    return 403;
  }
}

我们可以通过修改if语句的返回值来做不同的处理:

  • 403:表示禁止访问。
  • 404:表示找不到资源。
  • 301:可以返回一个跳转链接,这个页面可以是你想自定义的。

如何添加白名单?

有些情况下,某些合法的网站也可能被误判为盗链,我们需要将这些网站加入白名单中。在valid_referers后面加入whitelist代表白名单,然后我们需要将允许的域名都写入whitelist后面。

location ~* \\.(jpg|jpeg|png|gif)$ {
  valid_referers none blocked yourwebsite.com whitelist;
  if ($invalid_referer) {
    return 403;
  }
}

如何生成referer?

有的爬虫会伪造referer,因此我们需要检查isValidReferer这个变量。isValidReferer为0表示referer为空,否则为1。

此外,我们也可以通过backends添加referer。

set $backends \"http://backend1.com\";
location / {
  proxy_set_header Referer $backends;
}

总结

nginx提供了基本的防盗链功能,我们可以通过常用的方式和命令来完成防盗链,同时设置合理的白名单也能提高防盗链的效果,建议结合其他方法进行防盗链。

赞(0)
以上所转载内容均来自于网络,不为其真实性负责,只为传播网络信息为目的,非商业用途,如有异议请及时联系btr2020@163.com,本人将予以删除。帮发锚文本外链网 » nginx 防外链,nginx 屏蔽外链