现在有一个客户端,通过 https 443 端口访问服务器 A ,这个过程数据是加密的,然后服务器 A 通过 nginx 的 http 反代到服务器 B 的 8080 端口(proxy_pass http://serverB:8080;
),这个过程的数据是不是没有加密?
也就是说如果对服务器 A 与客户端之间的 https 其实并没有起到太大作用?
1
yaott2020 2022-10-31 17:41:23 +08:00 via Android
????
|
2
yaott2020 2022-10-31 17:42:05 +08:00 via Android
第一个问题:是 http 明文的
第二个问题:你是怎么得出这样的结论的 |
3
sheeta 2022-10-31 17:47:19 +08:00
A 到 B 的网络如果你觉得是可信的,那就是安全的
|
4
EyebrowsWhite OP @yaott2020 如果是明文的,那么即便对进入服务器的数据抓的包无法解密,但是只需要对服务端的出口抓包就可以看到明文的
|
5
EyebrowsWhite OP @sheeta 那通常也就意味着 A 和 B 要在同一内网吧,否则感觉都不可信
|
6
linauror 2022-10-31 17:52:00 +08:00
一般都用到反代了,基本都是内部服务了
|
7
superrichman 2022-10-31 17:54:52 +08:00
两个服务都不在一个内网了,还走同一个 nginx ?这不是 nginx 的一般使用场景
|
8
yaott2020 2022-10-31 17:54:55 +08:00 via Android
明文反代一般是在主机内部,或者是在可信的局域网内,跨公网的明文肯定是暴露的,一般不会这么用。
|
9
EyebrowsWhite OP @yaott2020 那如果跨公网的话反代走 https 靠谱吗,我看 nginx 也是支持的
|
10
EyebrowsWhite OP @superrichman 确实不是常规的场景🙃,顺便想请问下这种跨公网的反向代理还有什么好的工具吗
|
11
eason1874 2022-10-31 18:01:11 +08:00
客户端 HTTPS 到 A 是加密的
A HTTP 到 B 是明文,一般 A 和 B 在内网才用 HTTP 明文,在公网用 HTTPS |
12
EyebrowsWhite OP 稍微改一下问题,A 代理到 B 用 TCP 代理(nginx stream )和 https 代理哪个安全些呢,服务是只是 web 服务
|
13
ysc3839 2022-10-31 18:13:34 +08:00
@EyebrowsWhite 先说你的需求,为什么要反代?是要做负载均衡吗?
|
14
leonshaw 2022-10-31 18:17:46 +08:00
什么场景? A 和 B 用同一个证书?
|
15
EyebrowsWhite OP |
16
ysc3839 2022-10-31 21:29:34 +08:00 via Android
@EyebrowsWhite 那你还是得用另一台服务器中转呀,既然有另一台服务器了,何必用自己家的设备
|
18
herozzm 2022-10-31 21:41:30 +08:00
A -> B http 则是明文,如果是 https 则反之
如果 A -> B 是内网就不存在安全问题 |
19
EyebrowsWhite OP @ysc3839 我主要就是不想把一些数据放在云上,有点强迫症
|
20
yaott2020 2022-10-31 22:15:06 +08:00 via Android
所以你的需求是暴露内网服务是吗,直接上 frp 就行
|
21
ik 2022-10-31 22:22:41 +08:00 via iPhone
这个需求 vpn 组网就行了。vpn 来实现流量加密。
看你的描述家宽应该不带公网 ip 吧? 那你又怎么能实现直接通过 nginx 反代源站呢? |
22
EyebrowsWhite OP |
23
ab 2022-11-01 07:28:23 +08:00 via iPhone
推荐用 stream 转发
|
24
runwu2022 2022-11-01 09:27:17 +08:00
cdn 加速比较适合你的场景
|
25
EyebrowsWhite OP @ab 想问下 stream 转发和 https 转发哪个更安全些呢
|
26
EyebrowsWhite OP @runwu2022 额,没必要的吧,转发一下速度也够用
|