node 代理转发与 Google Cloud、域名配置

此文介绍 node 简单搭建一个代理转发服务,部署至 Google Cloud 服务器,并为该服务绑定域名。

业务场景

需要访问的域名被拦截在墙外,而代码部署的服务器在墙内,无法访问外网服务。

node 搭建服务

1
2
3
4
5
6
7
8
9
10
11
const express = require('express')
const app = express()
const proxy = require('http-proxy-middleware')
const port = 80

app.use('*', proxy({
target: 'https://api.proxydemo.com/',
changeOrigin: true
}))

app.listen(port)

Google Cloud

  1. Compute Engine 创建 vm 实例
  2. SSH 连接服务器
  3. 部署上方 node 服务
  4. 生成(一般会自动生成)静态 IP 地址(外部 IP) xxx.xxx.xxx.xxx

DNS 解析

配置域名 https://api.proxymiddle.com/ 解析至 xxx.xxx.xxx.xxx

验证

请求 https://api.proxymiddle.com/ 查看最终结果是否为墙外 https://api.proxydemo.com/ 的返回结果