我们中国办公室用的是国际专线+固定 IP,客户提供 Rest API, 只接受中国办公室的 IP 发送请求。而中国办公室的服务器(其实就是一台 24 小时运行的普通电脑)并没有外网端口映射,是跟普通电脑一样没有直接的公网 IP。 现在要做一个软件,我们美国办公室可以通过客户端访问客户数据。
目前我只能用 Slack 提供的 RTM API 进行中转:也就是美国的同事加入 slack 频道 => 输入订单号码 => 中国服务器收到 Slack message, 然后调用客户 API,返回订单搜索结果 => 通过 Slack API 将 message 传回到 Slack 频道。
问题: 现在想做成 web app 部署在 Heroku 上, 请问各位老哥有什么工具或者服务可以从 Heroku 那里 直接发送 request 请求到我们内网的 API ?这样的话我们就不用 slack 客户端了,拓展起来也灵活些。先行谢过!
以下方案已排除,不考虑:
❌ 租一台有公网 IP 的服务器,让客户将这台服务器加入白名单。
❌ 把中国办公室的固定 IP 映射到服务器上。
1
sudoy OP 由于特殊的原因,以下方案已排除,暂不考虑:
❌ 租一台有公网 IP 的服务器,让客户将这台服务器加入白名单。 ❌ 把中国办公室的固定 IP 映射到服务器上。 |
2
icemanpro 2021-06-01 09:56:45 +08:00
向日葵
|
3
felixcode 2021-06-01 09:58:23 +08:00 1
租一台公网 IP 服务器,组 VPN 吧
再在中国办公室上做一个 haproxy 或 nginx 转发 |
4
loginv2 2021-06-01 10:03:14 +08:00 1
实时性不高的话,可以在中国办公室这边轮询 web app 那边的接口,然后获取要查询的东西 。谁有公网谁做服务器的思路
|
5
Z1on 2021-06-01 10:11:31 +08:00
用 zerotier 组个网
|
6
Vegetable 2021-06-01 10:55:46 +08:00
组 VPN
另:我怎么觉得,让对方白名单加一个 IP 并没有那么困难? |
7
manhere 2021-06-01 11:15:01 +08:00 via Android 1
frp
|
8
bg7dcw 2021-06-01 11:43:24 +08:00 1
同上 frp 做内网穿透。
|
9
bg7dcw 2021-06-01 11:45:08 +08:00
美国办公室应该大概率有公网 ip 的哇,看看是不是你搞混了。
国内专线也可能有公网 ip 。 如果专线有公网 IP,只是服务器是内网 ip 的话,可以考虑端口映射。 |
10
leavic 2021-06-01 13:16:08 +08:00 1
cloudflare argo tunnel
|
11
willamtang 2021-06-01 13:21:46 +08:00
国际专线不是指中国办公室到美国办公室有专线么?是的话,美中办公室内网能互通,都不需要 Heroku 。
不是的话两个办公室弄一条 vpn tunnel,这样就能直接访问了。不用给公网地址。 非要用 heroku 的,看看 private-space-peering 能行不。 |
12
sudoy OP |
13
sudoy OP @willamtang 并没有跟美国办公室连接,美国办公室时普通的 AT&T 宽带。我们国内办公室去中国电信开通的那个宽带业务叫“国际专线”,带有固定 IP,然后访问国外网站的速度比普通宽带要快一些,估计是中转的节点要少。
|
14
willamtang 2021-06-01 13:52:22 +08:00 1
有固定 ip 应该是公网 ip 吧,在路由或者防火墙上跟美国办公室建个 tunnel 感觉是最省事的。
|
15
sudoy OP @willamtang 是的,在组网中,之前用 zerotier,但是 zerotier 用 tcp udp 还可以,http 没成功过,所以想找别的代替
|
16
yufeng0681 2021-06-01 14:43:25 +08:00 1
中国办公室其实有公网 IP (专线的固定 IP 就是)
1 、中国办公室买个路由器 具备 内网映射功能 (公网 8888 端口映射到内网 IP1:80 端口上) 2 、办公室内弄一台机器( IP1 )安装 Nginx,做反向代理配置 3 、配置,接收 http://xxx/yyy 的请求,反向代理到 http://客户 IP:port ---访问流程---- 1 、美国办公室访问 http://固定 IP:8888/yyy 2 、路由器转发到 Nginx 3 、Nginx 代理到客户服务器 |
17
sudoy OP @yufeng0681 谢谢回复,不过目前暂不考虑折腾内网端口映射,想用类似 frp 或者 ngrok 的工具
|
18
joesonw 2021-06-01 15:51:05 +08:00 via iPhone
wireguard 组 vpn 呗,美国服务器做住,中国连过去,然后两边访问是对等的。
|
19
x66 2021-06-01 17:48:18 +08:00
美国办公室能访问到中国办公室的服务器吗?如果可以的话,在中国办公室的服务器上搭建一个代理服务器?通过代理请求 API
|
21
wzwb 2021-06-01 19:36:56 +08:00 via Android
可以问一下这个图是怎么作出来的吗,有啥工具还是自己画的,感觉很好看😂
|
22
yufeng0681 2021-06-02 09:50:34 +08:00
你是个商业行为,就别折腾不成熟的开源软件。
那些号称自己能把两地弄成一个局域网的,都需要用到公网机器做通信协商,免费的总会出各种异常(有限服务,让你断几次很正常) 你打通了流程,然后中间偶发性的停止服务了,你找谁去? 美国分公司不投诉你,投诉谁? 你提供的解决方案这么脆弱,自己还没法控制住服务质量。 不考虑的恰恰都是靠谱方案,因为那些都是付费才能有的服务。 |
24
sudoy OP @yufeng0681 这个属于辅助工具,访问量没那么大的。而且排除的方案都是有特殊的原因才排除,并非常规开发。
|