nginx 反向代理 http 流量会加密吗

2022 年 10 月 31 日
 EyebrowsWhite

现在有一个客户端,通过 https 443 端口访问服务器 A ,这个过程数据是加密的,然后服务器 A 通过 nginx 的 http 反代到服务器 B 的 8080 端口(proxy_pass http://serverB:8080;),这个过程的数据是不是没有加密?

也就是说如果对服务器 A 与客户端之间的 https 其实并没有起到太大作用?

3483 次点击
所在节点    问与答
26 条回复
yaott2020
2022 年 10 月 31 日
????
yaott2020
2022 年 10 月 31 日
第一个问题:是 http 明文的
第二个问题:你是怎么得出这样的结论的
sheeta
2022 年 10 月 31 日
A 到 B 的网络如果你觉得是可信的,那就是安全的
EyebrowsWhite
2022 年 10 月 31 日
@yaott2020 如果是明文的,那么即便对进入服务器的数据抓的包无法解密,但是只需要对服务端的出口抓包就可以看到明文的
EyebrowsWhite
2022 年 10 月 31 日
@sheeta 那通常也就意味着 A 和 B 要在同一内网吧,否则感觉都不可信
linauror
2022 年 10 月 31 日
一般都用到反代了,基本都是内部服务了
superrichman
2022 年 10 月 31 日
两个服务都不在一个内网了,还走同一个 nginx ?这不是 nginx 的一般使用场景
yaott2020
2022 年 10 月 31 日
明文反代一般是在主机内部,或者是在可信的局域网内,跨公网的明文肯定是暴露的,一般不会这么用。
EyebrowsWhite
2022 年 10 月 31 日
@yaott2020 那如果跨公网的话反代走 https 靠谱吗,我看 nginx 也是支持的
EyebrowsWhite
2022 年 10 月 31 日
@superrichman 确实不是常规的场景🙃,顺便想请问下这种跨公网的反向代理还有什么好的工具吗
eason1874
2022 年 10 月 31 日
客户端 HTTPS 到 A 是加密的

A HTTP 到 B 是明文,一般 A 和 B 在内网才用 HTTP 明文,在公网用 HTTPS
EyebrowsWhite
2022 年 10 月 31 日
稍微改一下问题,A 代理到 B 用 TCP 代理(nginx stream )和 https 代理哪个安全些呢,服务是只是 web 服务
ysc3839
2022 年 10 月 31 日
@EyebrowsWhite 先说你的需求,为什么要反代?是要做负载均衡吗?
leonshaw
2022 年 10 月 31 日
什么场景? A 和 B 用同一个证书?
EyebrowsWhite
2022 年 10 月 31 日
@ysc3839
@leonshaw 额..场景其实就是家宽禁用 80 443 端口,我又想用这两个端口
ysc3839
2022 年 10 月 31 日
@EyebrowsWhite 那你还是得用另一台服务器中转呀,既然有另一台服务器了,何必用自己家的设备
Aloento
2022 年 10 月 31 日
@ysc3839 他这个估计就是计算节点跟流量节点分离,一个很常见的情况
herozzm
2022 年 10 月 31 日
A -> B http 则是明文,如果是 https 则反之
如果 A -> B 是内网就不存在安全问题
EyebrowsWhite
2022 年 10 月 31 日
@ysc3839 我主要就是不想把一些数据放在云上,有点强迫症
yaott2020
2022 年 10 月 31 日
所以你的需求是暴露内网服务是吗,直接上 frp 就行

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/891526

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX