You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为部署到Heroku的cors-anywhere配置速率限制与白名单

部署cors-anywhere到Heroku的配置方案

1. 配置文件选择:优先新建独立JS文件,不要修改源文件

直接修改cors-anywhere的官方源文件会导致后续同步官方安全更新、功能迭代时出现代码冲突,维护成本极高。你只需要在项目根目录新建自定义入口文件调用cors-anywhere的核心能力即可,完全不需要触碰原有源码。

2. 速率限制规则配置示例

在项目根目录新建server.js文件,填入以下代码,替换成你自己的个人网站域名即可:

// 引入cors-anywhere核心库
const cors_proxy = require('./lib/cors-anywhere');
// 替换为你个人网站的实际源,本地开发可同时添加localhost地址
const PERSONAL_SITE_ORIGIN = 'https://你的个人网站域名.com';

cors_proxy.createServer({
  // 不需要限制请求源的话这里放空数组,要限制仅你的网站可用就填[PERSONAL_SITE_ORIGIN]
  originWhitelist: [],
  // 速率限制配置
  rateLimits: {
    // 全局默认限制规则:1分钟内每个IP最多请求60次,可自行调整数值
    default: {
      interval: 60 * 1000,
      max: 60
    },
    // 你的个人网站无速率限制
    [PERSONAL_SITE_ORIGIN]: {
      interval: 60 * 1000,
      max: Infinity
    }
  },
  // 基础安全配置,可按需调整
  requireHeader: ['origin', 'x-requested-with'],
  removeHeaders: ['cookie', 'cookie2']
// 监听Heroku分配的端口,本地默认跑8080
}).listen(process.env.PORT || 8080, () => {
  console.log('CORS代理服务已启动');
});

3. Heroku部署适配

修改项目根目录package.json文件中的scripts配置,将启动指令指向你新建的入口文件:

{
  "scripts": {
    "start": "node server.js"
  }
}

修改完成后正常推送到Heroku部署即可。

4. 配置有效性验证

  • 用你的个人网站发起多次跨域请求,不会触发429 Too Many Requests错误
  • 用其他域名、或者本地Postman直接调用代理接口,请求量达到你设置的全局阈值后会返回429错误,说明规则生效

内容的提问来源于stack exchange,提问作者Sixl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 10:51:01