通过CORS请求反代资源解决跨域问题

Kevin 杂记 613 次浏览 抢沙发

在弄反向代理时发现corsproxy这个好东西,可以较为简单解决跨域问题。记录下其用法,以防以后用到。corsproxy是基于Node.js的开源CORS代理工具,使用前需要先安装Nodejs和npm,具体步骤如下(以CentOS为例)。

1. 添加EPEL软件源,然后安装Nodejsnpm会一并安装)。

yum install epel-release
yum install -y nodejs

2. 获取安装corsproxy软件。

npm install -g corsproxy

3. 运行corsproxy命令激活服务即可开始使用,默认通过http://localhost:1337反代资源。

假设要反代http://example.com/test.png这个图片,则使用http://localhost:1337/example.com/test.png访问。

外网访问不能用localhost,这时可以更改域名和端口,命令如下。

# 更改域名
CORSPROXY_HOST=0.0.0.0 corsproxy

# 更改端口
CORSPROXY_PORT=8080 corsproxy

还有两个额外选项。

# 使用调试模式
DEBUG=1 corsproxy

# 设置有效负载最大字节(默认为1MB,这里示例设置为10MB)
CORSPROXY_MAX_PAYLOAD=10485760 corsproxy

使用时建议开个Screen,不然断开SSH就退出进程了。

发表评论

电邮地址用于 Gravatar 头像显示,不会被公开可见。