[技术贴]微服务中的网关部署在云服务器,自己在公司内网启动服务,怎么让网关能调通自...
source link: https://www.v2ex.com/t/916208
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
如题,目前遇到这么个问题,一开始想的是内网穿透,但是被 pass 了说是对内网不安全,经过一番调研,阿里云有自己的端云互联工具,但是又不想用阿里云,太贵了。我们的某个竞品,他们部署在云端的后台就能直接发现自己内网的服务并成功调用,这个是怎么做到的呢?希望老哥们给指点一下迷津,感谢
MinJin 17 小时 37 分钟前 zerotier
|
luomao 17 小时 36 分钟前 我们这边是和阿里云拉了一条专线,可以直接互访内网
|
Aliberter 17 小时 31 分钟前 我们用的 springcloud 那一套,有能跟服务的项目做集成做绑定,不用额外的网络配置和三方工具,只要本地项目跑起来,就能被云端发现调用,这种技术实现吗?
|
cheng6563 17 小时 26 分钟前 ssh 算第三方工具吗?用 ssh 也能穿透
|
tramm 17 小时 26 分钟前 你们公司不能开放端口吗?
不开放端口,也没专线的话,云服务器起个 TCP 服务,公司的这边写个 TCP 中转服务通过长连接连上去,让云服务器那边所有请求下发到公司的这个中转服务器上...不过感觉这个有点麻烦啊 |
Seulgi 17 小时 23 分钟前 阿里的端云互联实际也和内网穿透差不多。
|
Lentin 17 小时 22 分钟前 防火墙上做 nat 转发 设置好源 IP 和目的地 IP 端口就行了
|
Diego01 17 小时 19 分钟前 公网访问、VPN 、智能接入网关、共享专线
|
Eytoyes 17 小时 8 分钟前 这不是网工的事吗?提个申请开个口子映射到你的内网服务器,把源地址和目的地址都限制一下就行了
|
lower 17 小时 8 分钟前 楼主项目里有集成消息队列么,感觉应该适合你的场景,改造改造
|
ragnaroks 17 小时 7 分钟前 zerotier 本身有库,集成到你的项目中即可,我用很久以前就实现了 MC 一键 P2P 联机
|
luomao 17 小时 6 分钟前 和 spring cloud 那套融合起来,还有个比较蛋疼的方法。两边都接入一个消息队列,譬如 rabbitMq ,网关收到消息后将消息发送到队列中并保持连接,内网服务器消费这个”请求”,“请求”的结果消费完以后再将”响应”发送到队列中,网关消费掉这个”响应”后释放连接并返回
|
killva4624 17 小时 5 分钟前 合理合法、又不动网络和运维参与,说实话不太可能...
|
koloonps 17 小时 5 分钟前 SSH -L 将服务器的端口映射到本地,SSH -R 将本地端口映射到服务器上.修改本机路由,将服务器地址转发到 localhost.这样应该就可以了
|
lucifer69 17 小时 4 分钟前 部署一个服务注册中心?比如 nacos
|
xuanbg 17 小时 4 分钟前 VPN 。我在家里,要使用公司的测试环境的话,就拨公司的 VPN 。
|
koloonps 17 小时 3 分钟前 最简单的方式是开一个 openvpn,不用对外开放端口.用 SSH 将 openvpn 端口映射到本地,然后你在 openvpn 客户端中将服务器设置为本地就可以了
|
xuanbg 16 小时 59 分钟前 1 如果服务器上有 doker 的话,稍微改一下下面的 docker 命令里的一些参数,就能通过 vpn 来打通云端的环境了。
docker run -d \ --name=wireguard \ --cap-add=NET_ADMIN \ --cap-add=SYS_MODULE \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Europe/London \ -e SERVERURL=wireguard.domain.com \ -e SERVERPORT=51820 \ -e PEERS=1 \ -e PEERDNS=auto \ -e INTERNAL_SUBNET=10.13.13.0 \ -e ALLOWEDIPS=0.0.0.0/0 \ -e LOG_CONFS=true \ -p 51820:51820/udp \ -v /opt/wireguard/config:/config \ -v /lib/modules:/lib/modules \ --sysctl="net.ipv4.conf.all.src_valid_mark=1" \ --restart unless-stopped \ lscr.io/linuxserver/wireguard:latest |
Aliberter 16 小时 57 分钟前 |
happyn 16 小时 57 分钟前 首先公司内网,有公网 ip ,可以对外映射服务吗?
如果没有公网 ip ;那肯定得需要端口映射出去; 不用第三方工具,就得自己集成这个服务,本质上跟第三方工具做的事情是一样的; 如果服务不动,ip 也不想改;最简单的方法就是楼上建议的,用 zerotier 、tailscale ,或者 openvpn 一样的工具,把云服务器和公司内网服务器联网到同一个虚拟网络里,然后用 ssh 或者 socat 端口转发,把公司内网的服务映射到云服务器上;这样对于服务端是无感知的; 如果不用三方工具,就得自己做上面的工作了; |
koloonps 16 小时 55 分钟前 修改本机路由,不是修改公司的路由.在本机路由表中添加一条就行.
|
2han9wen71an 16 小时 53 分钟前 我们是 zerotier
|
Aliberter 16 小时 45 分钟前 |
john2022 16 小时 42 分钟前 vpn 接入云端一台服务器,两个子网打通就可以了
|
koloonps 16 小时 38 分钟前 你从 nacos 获取的其他服务的地址是服务器的局域网地址,你需要在你的机器路由表上添加一条路由将服务器的地址重定向到本机上.你可以看下 SSH 的内网穿透功能.https://zhuanlan.zhihu.com/p/57630633 参考下这个
|
amrice 16 小时 31 分钟前 要么组网,要么直接把设备暴露到公网里呗
|
wccc 16 小时 28 分钟前 wireguard 组网
|
ilovey482i 16 小时 22 分钟前 如果不组网打通环境的话,只能在云端部署测试服务器,将代码部署到测试服务器上去
|
GopherDaily 16 小时 17 分钟前 测试还是开发?测试考虑下 telepresence
|
nicholasxuu 16 小时 2 分钟前 如果公司有固定 ip 的网络的话,搭一下 ipsec vpn ,阿里云那儿大概一个月 200 的费用吧。
|
ChengHaha 16 小时 1 分钟前 我是在本地启动一个网关,前端指向本地的网关就好了
|
nicebird 14 小时 59 分钟前 不难吧,自己开发个代理都可以
|
Bottle 12 小时 43 分钟前 1 说一下我们公司的情况:
1 、有两台物理服务器放在公司内网,部署一些服务 2 、办公室没有固定公网 IP 3 、有几台阿里云 ECS ,有公网 IP ,几台 ECS 之间内网互通 需求是:ECS 上的所有服务,都能访问办公室内网两台机器上的服务 我们采用的解决方案是:SSH 远程端口转发 1 、办公室内网服务端口转发到 ECS 指定端口上 2 、ECS 上的服务,通过转发的端口,访问公司内网服务 希望能够帮到你。 参考资料: https://www.ronpad.com/docs/ssh/port-forwarding-4.html https://www.cnblogs.com/XiiX/p/15095135.html |
BQsummer 10 小时 7 分钟前 我们公司也有类似场景, ios 打包需要 mac 机器, 云服务没有, 就把 mac mini 放在办公地点的机房, 走的 vpn
|
lyc8503 7 小时 47 分钟前 如果不用过墙的话 wireguard 或者 openvpn 就可以? 两者都是完全开源的工具.
|
k8ser 5 小时 57 分钟前 wireguard over udp ,国内运营商的环境还是要测试下。
|
salmon5 5 小时 52 分钟前 |
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK