
tlan16/cors-anywheredocker-cors-anywhere 是一个轻量级的跨域资源共享(CORS)代理服务镜像,旨在解决前端应用或无服务器架构开发中常见的CORS限制问题。该镜像基于Node.js运行时,集成了成熟的 cors-anywhere npm包(与官方服务 [***] 使用相同核心组件),可快速搭建本地CORS代理服务,实现跨域请求转发。
Access-Control-Allow-Origin、Access-Control-Allow-Methods 等),绕过浏览器的同源策略限制。cors-anywhere 开源组件,支持主流浏览器的CORS规范,与官方Heroku服务功能一致。cors-anywhere 原生配置能力)。通过Docker CLI直接启动容器,默认监听8080端口:
bashdocker run -d -p 8080:8080 --name cors-proxy docker-cors-anywhere
-d:后台运行容器-p 8080:8080:端口映射(主机端口:容器端口)--name cors-proxy:自定义容器名称(可选)启动服务后,通过以下方式使用代理转发跨域请求:
[***]http://localhost:8080/https://api.example.com/datahttp://[代理服务地址]/[目标请求完整URL])浏览器/应用直接请求代理URL,即可获取带CORS头的响应。
基于 cors-anywhere 原生支持,可通过环境变量调整服务行为:
| 环境变量 | 说明 | 默认值 |
|---|---|---|
CORSANYWHERE_PORT | 代理服务监听端口 | 8080 |
CORSANYWHERE_WHITELIST | 允许访问代理的源域名列表(逗号分隔,支持通配符*),如"http://localhost:3000,https://example.com" | *(允许所有源) |
CORSANYWHERE_BLACKLIST | 禁止访问代理的源域名列表(优先级高于白名单) | 无 |
示例:限制仅本地3000端口应用访问
bashdocker run -d \ -p 3001:3001 \ -e CORSANYWHERE_PORT=3001 \ -e CORSANYWHERE_WHITELIST="http://localhost:3000" \ --name cors-proxy-restricted \ docker-cors-anywhere
创建 docker-compose.yml 文件快速部署:
yamlversion: '3' services: cors-proxy: image: docker-cors-anywhere ports: - "8080:8080" # 主机端口:容器端口 environment: - CORSANYWHERE_WHITELIST="http://localhost:3000,http://127.0.0.1:5173" # 允许Vite/React等开发服务器 restart: unless-stopped # 异常退出后自动重启
启动命令:
bashdocker-compose up -d
cors-anywhere 官方文档:[***]manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务