惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
大猫的无限游戏
大猫的无限游戏
J
Java Code Geeks
罗磊的独立博客
雷峰网
雷峰网
G
Google Developers Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
爱范儿
爱范儿
B
Blog RSS Feed
腾讯CDC
Apple Machine Learning Research
Apple Machine Learning Research
D
Docker
Recent Announcements
Recent Announcements
T
Tailwind CSS Blog
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Vercel News
Vercel News
小众软件
小众软件
人人都是产品经理
人人都是产品经理
云风的 BLOG
云风的 BLOG
IT之家
IT之家
Blog — PlanetScale
Blog — PlanetScale
I
InfoQ
S
SegmentFault 最新的问题

新锐博客

vscode连接cnb并推送仓库 - 新锐博客 twikoo不用token查询文章浏览量 - 新锐博客 基于Astro构建的支持对话与生图的Web应用 - 新锐博客 deepseek-v4-flash-0731使用体验 - 新锐博客 基元律动免费送68元额度 - 新锐博客 Linux更换软件源 - 新锐博客 华为鸿蒙7.0花粉beta版发布 - 新锐博客 使用测速脚本测一下服务器带宽 - 新锐博客 trae告别白嫖时代,auto也需排队了 - 新锐博客 流量不够用?大流量卡免费领 - 新锐博客 推荐一个免费在线图片处理网站 - 新锐博客 AI清理C盘的优缺点 - 新锐博客 twikoo不算bug的bug - 新锐博客 最近网站的一些变动 - 新锐博客 腾讯EO开始发多余套餐啦!速领 - 新锐博客 hi168停止对个人用户的运营 - 新锐博客 哪吒监控曝高危漏洞,请尽快升级 - 新锐博客 IndexDB实现大文件下载的思路 - 新锐博客 鱼鱼api使用教程 - 新锐博客 服务器安装Dokploy替代vercel - 新锐博客 对于近几年的电视剧的无力吐槽 - 新锐博客 关于网站被攻击的后续 - 新锐博客 使用sessionStorage给音乐播放进度存储 - 新锐博客 修复了一些bug,网站基本上趋于稳定了 - 新锐博客 AI模型掺水?如何辨别真假? - 新锐博客 感谢一九云给我防住了攻击 - 新锐博客 对一些新手使用AI编程的建议 - 新锐博客 Edgeone标记过期和直接删除有何区别? - 新锐博客 用Navigation Timing API给博客添加上加载时间 - 新锐博客 使用 Astro 自建博客,从零开始鏖战 14 小时 - 新锐博客
Nginx以及Edgeone解决CORS跨域和防盗链 - 新锐博客
莫忘 · 2025-09-26 · via 新锐博客

前言

不少细心的朋友应该都发现了,我在调用外部资源的时候,都将外部资源放到js.xrbk.cn这个子域名下,这样不仅可以避免因内容较大而出现构建时间增加的问题,而且还能添加防盗链等措施防止他人调用。

教程

首先就是Nginx解决跨域问题,相信不少人已经看到过其他不少文章,但还是要重复一下,那就是将如下代码添加到nginx配置文件中:

location / {
    # 允许所有来源的跨域请求,生产环境建议指定具体域名
    add_header 'Access-Control-Allow-Origin' '*';
    
    # 允许的请求方法
    add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS';
    
    # 允许的请求头
    add_header 'Access-Control-Allow-Headers' 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
    
    # 允许浏览器读取的响应头
    add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
    
    # 预检请求的缓存时间,单位秒
    add_header 'Access-Control-Max-Age' 1728000;
    
    # 处理预检请求
    if ($request_method = 'OPTIONS') {
        return 204;
    }
}

添加完以后,重启一下nginx服务即可。

那Edgeone如何防盗链以及解决CORS跨域呢?很简单,就是配置下规则引擎。

在最上面选择HOST,值为你的域名。

下面添加操作,修改HTTP响应头,类型为增加,参数为Access-Control-Allow-Origin,值为*

接着就是选择添加IF2,匹配类型为HTTP请求头,头部名称为Referer,运算符为正则不匹配,值为^https://[a-zA-Z0-9-]*\.xrbk\.cn(/.*)?$,操作为HTTP应答,响应码可以自己填写,响应页面就自己设置一个页面就行。

最后保存并发布就行了。

莫忘

君子喻以义,小人喻以利

本文是原创文章,采用 CC BY-NC-SA 4.0 协议,完整转载请注明来自 新锐博客