宝塔面板下对单个Nginx的网站做防盗链配置,不用宝塔面板自带的设置项哦! - 技术宅银魂 - 科技改变生活 - 万事屋 | 生活·动漫·娱乐综合社区-银魂同好聚集地

宝塔面板下对单个Nginx的网站做防盗链配置,不用宝塔面板自带的设置项哦!

让老高检查万事屋为什么最近那么卡,发现原因之一是有图片被别站引用却没本地化,即意思一直在用万事屋的远程图片,这就过份了啊,不行,得做防盗链。

宝塔面板的网站设置里有防盗链设置,但太简陋,操作不太灵活,手动对单个网站的配置文件做设置。

防盗链需求:

  1. 网站常用图片格式gif、webp、jpg、jpeg、png;
  2. 网站常见的视频格式;
  3. 常见静态文件js、css。
  4. 防盗链排除目前网上流行的社交平台分享,防止分享不出去,做网址规避。

关键配置说明:

  1. 允许的扩展名

    • 图片:gif|jpg|jpeg|png|bmp|webp

    • 视频:flv|swf|mp4|mov|avi|mkv

    • 静态文件:css|js|ico

  2. 白名单域名

    • 微信生态*.qq.com|*.weixin.qq.com|*.wechat.com|qpic.cn

    • QQ生态*.qq.com|qlogo.cn

    • 微博*.weibo.com|*.sinaimg.cn

    • 国际平台*.twitter.com|t.co|*.facebook.com

    • 其他主流平台:抖音、TikTok、WhatsApp等

    • 搜索引擎:Google、Bing、Yahoo、baidu

  3. 特殊允许项

    • none:允许浏览器直接访问或APP内打开

    • blocked:允许被防火墙修改过的Referer

    • server_names:自动放行当前服务器域名

完整实例配置:

# ======================
    # 防盗链配置
    # ======================
    location ~* \.(gif|jpg|jpeg|png|bmp|webp|css|js|flv|swf|ico|mp4|mov|avi|mkv)$ {
        # 白名单域名
        valid_referers 
            none
            blocked
            server_names
            *.your-domain.com  # 请替换为您的实际域名
            *.qq.com
            *.weixin.qq.com
            *.wechat.com
            qpic.cn
            qlogo.cn
            *.weibo.com
            *.sinaimg.cn
            *.twitter.com
            t.co
            *.facebook.com
            *.whatsapp.com
            *.douyin.com
            *.tiktok.com
            *.pinterest.com
            *.baidu.com
            *.google.com
            *.gstatic.com
            *.yahoo.com
            *.bing.com
            *.rei3.com;  # 防盗链图片域名
        
        # 允许防盗链图片自身访问
        if ($request_uri ~* "/images/403-d.webp") {
            return 200;
        }
        
        # 防盗链处理
        if ($invalid_referer) {
            # 显示指定防盗链图片
            rewrite ^(.*)$ https://www.rei3.com/images/403-d.webp permanent;
        }
        
        # 静态文件缓存设置
        expires 30d;
        access_log off;
    }

 

请登录后发表评论

    没有回复内容

万事屋新帖