WishMeLz

生活其实很有趣

cors-anywhere Nodejs实现静态资源代理,使用ESA加速访问

解决前端访问静态资源CORS跨域的问题 https://github.com/WishMelz/cors-anywhere 【添加只允许代理静态资源条件判断】;原仓库:https://github.com/Rob--W/cors-anywhere

此仓库代码仅仅帮忙解决前端下载CORS资源问题,请勿非法使用!!!

举个使用场景:html2canvas、Fabric.js、Three.js 等前端库在把外部图片绘制到 <canvas> 时,若目标服务器未返回 Access-Control-Allow-Origin:*,浏览器会抛出 CORS 错误。

1、快速使用(公共实例)

https://cors.xzxo.cn/<资源URL>
https://cors.xzxo.cn/https://i0.kym-cdn.com/photos/images/original/000/798/744/f10.gif
https://cors.xzxo.cn/https://raw.githubusercontent.com/WishMelz/file/refs/heads/master/image/93120923874f9477d30035b76d9978e0.jpg

GitHub 文件测试
https://raw.githubusercontent.com/WishMelz/file/refs/heads/master/image/93120923874f9477d30035b76d9978e0.jpg

2、搭建

服务启动

git clone https://github.com/WishMelz/cors-anywhere.git
cd cors-anywhere
npm i 
pm2 start server.js  // 默认端口是8080

nginx配置

location ^~ / {
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Real-Port $remote_port;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Port $server_port;
    proxy_set_header REMOTE-HOST $remote_addr;
    
    proxy_connect_timeout 60s;
    proxy_send_timeout 600s;
    proxy_read_timeout 600s;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
}

ESA配置

2025-08-06T16:48:27.png

来一把全球PING

2025-08-06T16:56:46.png

合规声明

本项目仅供合法解决前端 CORS 下载问题使用。禁止用于绕过版权、非法抓取、接口攻击等行为。使用者须遵守目标站点 robots.txt 及当地法律法规,违者后果自负。