在阿里云服务器内网下的NodeJS的代理设置

JavaScript023

在阿里云服务器内网下的NodeJS的代理设置,第1张

ECS的内网机器是无法连接外网,所以考虑使用外网机器作为代理

采用 squid 做正向代理缓存服务

首先确认内网ECS的网段为: 10.0.0.0/8

然后检查squid是否安装

安装squid

配置squid

初始化

用root权限运行

添加端口转发(在路由前将3128端口转发至80)

查看配置

在内网的机器上安装nodeJS(tar包)

配置nodeJS的代理

至此,nodeJs就可以访问外网安装modules了

代理程序 来源于 web-proxy-master 基于node做的代理服务器

nodejs在windows上运行 ,运行命令如下,启动起来的地址是 http://localhost:6001/ ( localhost = 192.168.0.105)

在200上的linux中的/davido/project/nginx-1.17.10_prefix中conf/host/localhost_6066.conf配置以下参数

重启nginx后,在程序中配置天地图访问代理路径为 "proxy": " http://192.168.0.200:6066/proxy/ ",

可以在web页面上看到天地图已经加载出来了。

现在尝试把代理服务器部署到linux上,以下是操作的步骤

参考链接地址为 nodejs 在linux上后台运行

和 linux下使用forever进行管理

linux 提前已经安装nodejs ,路径是/davido/local/ds/nodejs/

出错了, -bash: forever: command not found ,需设置环境变量

forever 管理

修改nginx中代理配置,修改成 http://192.168.0.200:6001 ,把200服务器上的6001端口放开,代理没起作用;

前端ui项目启动后,调用后端接口,报500,将接口在地址改为服务器的ip后验证后接口是正常的。

gateway 上部署了多个server,比如api-user ,api-auth ,api-iips

调用的api-iips接口需要通过网关gateway(172.16.101.224:9200)转发到api-iips server方可。

接口转发-需要将 http://localhost:8080/api-iips/infomation/list

转换成 http://172.16.101.224:9200/api-iips/infomation/list

故,用到了代理服务器

总结一句话就是:前端应用和后端 API 服务器没有运行在同一个主机上,你需要在开发环境下将 API 请求代理到 API 服务器。

vue.config。js中关于代理的具体配置如下图:

一个配置代理服务器的中间件,让Node.js代理变得简单。

更多相关内容 https://github.com/chimurai/http-proxy-middleware