各位大佬,公司部署软件,要求 mysql ,redis ,minio 等存放数据的软件放在内网服务器上,Web 和 api 放在 DMZ 服务器上。原本我想的部署方案是 api 服务放在内网服务器,通过 DMZ 上部署 Nginx 转发访问 api 服务,这样就只需要一个端口。公司的领导说这样不安全,让把 api 放到 DMZ 服务器上,这样到内网的数据就多一层过滤,但是这样的话 api 访问内网的数据库,redis 和 minio 就需要三个端口,开端口的流程特别长,时间来不及,有其他的解决方案吗。
![]() |
1
opengps 10 小时 30 分钟前
“外网访问内网中的 mysql ,redis 和 minio”这事本身就不靠谱,你确定真的需要开放端口?
正常来说 mysql 类这种内网服务即使公网要用也是先拨入 vpn 再访问,而不是直接暴露公网端口。否则等于把危险请进来 |
![]() |
2
sagnitude 10 小时 23 分钟前
时间来不及是你的责任吗?要学会甩锅,问你进度你就说在跟进了,表格交上去了,目前在 XXX 审核阶段,需要 XXX 签字,需要领导帮忙
|
3
LoNeZ 10 小时 2 分钟前
SNI
|
4
zzh0410 10 小时 0 分钟前 via Android
Haproxy 可以针对协议进行分流,你可以抓包看下 tcp 头部几个字节,然后分流打不同后端。测试过 mysql ,mstsc 等,minio 这种 web 服务,再用 nginx 分流
|
![]() |
5
potatowish 9 小时 59 分钟前 via iPhone
那就是领导的问题,又考虑安全、又考虑进度,只能选一个,让他自己看着办
|
![]() |
6
caola 9 小时 43 分钟前
内网服务器和 DMZ 服务器只有一个端口?那直接用 frp 吧,稳定性是不错的
|
![]() |
7
jiangzm 9 小时 9 分钟前
外网为什么要直接访问内网的 mysql,redis,minio?
DMZ 服务器不应该是直接暴露给外网但自身又能访问内网的跳板机吗? 还是你们 DMZ 服务器到内网还有一层网关吗 |
8
hefish 8 小时 40 分钟前
问领导啊。以领导的意见为准。
|
![]() |
9
cheng6563 8 小时 17 分钟前
套 SSH 呗
|
![]() |
10
Ipsum 8 小时 16 分钟前
外网访问数据层,你不得上个 vpn 还安全点?
|
![]() |
14
xuanbg 7 小时 44 分钟前
不是,外什么要在外网直接访问内网中的 mysql 、redis 和 minio 。就不能通过 VPN 先进内网嘛?
|
19
julyclyde 7 小时 5 分钟前
你这属于架构设计问题啊,不是后期能打嘴仗解决的,而是前期就不该这么设计
|
20
yinmin 5 小时 7 分钟前 via iPhone
三楼正解。
在内网部署 stunnel 软件将 mysql/redis/minio 的 tcp 转化成 tls ,然后通过 sni 聚合成 1 个端口,防火墙开放 stunnel 这个端口给 dmz 区,由于 mysql 、redis 、minio 的客户端都支持 tls ,所以可以通过不同的 sni 直连 stunnel tls 端口(也可以通过 stunnel 将 tls 还原成 tcp )。 你也可以在 mysql 、redis 、minio 上部署 tls ,然后在内网部署 sni proxy 聚合成一个端口开放给 dmz 区。 stunnel 、sniproxy 都是可以用在生产环境,在低并发(小于 500 并发)高带宽(千兆)下能长时间稳定运行。 你可以将你的问题和我的答案发给 ai ,让 ai 详细说原理和实施步骤。 |
![]() |
21
zjyl1994 5 小时 5 分钟前
这是公司的安全设计,你使用技术手段进行绕过,后续的不稳定,被黑都是你的问题。你应该走合规流程申请多开两个端口,时间长就找领导推进。这不是技术手段该解决的问题
|
22
yinmin 5 小时 3 分钟前 via iPhone
接#20 ,你也可以在内网部署 ssh 、socks5 之类,然后防火墙开放 ssh/socks5 端口给 dmz ,不过 ssh 、socks5 等于开放整个内网,安全性比较差,强烈不推荐。
“通过 sni 聚合 3 个 tcp 端口”是最安全的方式,甚至比开放 3 个 tcp 端口更安全,因为 sni 名称天然就是一个密码锁。(看不懂可以发给 ai ) |
26
iamwin 4 小时 53 分钟前
用什么 DMZ 啊,直接在对外服务器上 VPN ,一切过 VPN 访问内网
|
27
yinmin 4 小时 49 分钟前 via iPhone
@badbay #23 如果临时用几天,最快最安全的方式是内网安装 stunnel server 将 3 路 tcp 聚合成 1 路 tls (根据 sni 区分),然后 dmz 区安装 stunnel client 将这路 tls 根据 sni 还原成 2 路 tcp ,你可以让 ai 写一下 stunnel 配置。
|
![]() |
28
daxin945 4 小时 30 分钟前
这不是技术问题 是责任问题,出了事儿就麻烦了
|
![]() |
29
goodryb 3 小时 10 分钟前
不要搞什么奇技淫巧,老板怎么说就怎么做,按照流程来, 端口该申请就申请,流程长就长,你着什么急
|
31
tabliu 2 小时 17 分钟前
用 openvpn 直接打通
|
![]() |
32
hahaha121 1 小时 32 分钟前
easytier 直接打通内网
|
![]() |
33
kiracyan 1 小时 10 分钟前
这几个理论上不允许外网访问的吧 最多 vpn 访问
|