非常简单。

注:在本文写完后不久heroku宣布不再提供免费服务,你可能需要部署到其他地方。

Fork cors-anywhere

https://github.com/Rob--W/cors-anywhere/

fork上述repo

Heroku部署

在Heroku中新建app,deploy方式里设置为通过github 仓库自动部署。选择刚才fork下来的repo即可。

配置cors-anywhere

这里我用的是heroku-cli

登录cli后,使用命令 heroku config -a [APP_NAME] 可以查看app里的环境变量

D:\projects\js\cors-anywhere>heroku config -a mofeng-cors-app-anywhere
=== mofeng-cors-anywhere Config Vars

# 现在还什么都没有

可供配置的环境变量如下:

  • HOST
  • PORT
  • CORSANYWHERE_BLACKLIST
  • CORSANYWHERE_WHITELIST
  • NODE_TLS_REJECT_UNAUTHORIZED

我们只需要设置白名单即可。如果白名单非空,则来自白名单以外的originIf都会被block.

用逗号分隔,格式为 http开始,结尾不带/

heroku config:set CORSANYWHERE_WHITELIST=https://www.example.com,https://www.example2.com

测试

可以看到成功了。

当Header中的Origin不包括在白名单内时,则会被服务器block


I am a noob