V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
EyebrowsWhite
V2EX  ›  问与答

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

  •  
  •   EyebrowsWhite · 2022-10-31 17:40:13 +08:00 · 2623 次点击
    这是一个创建于 772 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    26 条回复    2022-11-01 16:36:24 +08:00
    yaott2020
        1
    yaott2020  
       2022-10-31 17:41:23 +08:00 via Android
    ????
    yaott2020
        2
    yaott2020  
       2022-10-31 17:42:05 +08:00 via Android
    第一个问题:是 http 明文的
    第二个问题:你是怎么得出这样的结论的
    sheeta
        3
    sheeta  
       2022-10-31 17:47:19 +08:00
    A 到 B 的网络如果你觉得是可信的,那就是安全的
    EyebrowsWhite
        4
    EyebrowsWhite  
    OP
       2022-10-31 17:47:46 +08:00 via iPhone
    @yaott2020 如果是明文的,那么即便对进入服务器的数据抓的包无法解密,但是只需要对服务端的出口抓包就可以看到明文的
    EyebrowsWhite
        5
    EyebrowsWhite  
    OP
       2022-10-31 17:49:31 +08:00 via iPhone
    @sheeta 那通常也就意味着 A 和 B 要在同一内网吧,否则感觉都不可信
    linauror
        6
    linauror  
       2022-10-31 17:52:00 +08:00
    一般都用到反代了,基本都是内部服务了
    superrichman
        7
    superrichman  
       2022-10-31 17:54:52 +08:00
    两个服务都不在一个内网了,还走同一个 nginx ?这不是 nginx 的一般使用场景
    yaott2020
        8
    yaott2020  
       2022-10-31 17:54:55 +08:00 via Android
    明文反代一般是在主机内部,或者是在可信的局域网内,跨公网的明文肯定是暴露的,一般不会这么用。
    EyebrowsWhite
        9
    EyebrowsWhite  
    OP
       2022-10-31 17:56:26 +08:00 via iPhone
    @yaott2020 那如果跨公网的话反代走 https 靠谱吗,我看 nginx 也是支持的
    EyebrowsWhite
        10
    EyebrowsWhite  
    OP
       2022-10-31 17:59:31 +08:00 via iPhone
    @superrichman 确实不是常规的场景🙃,顺便想请问下这种跨公网的反向代理还有什么好的工具吗
    eason1874
        11
    eason1874  
       2022-10-31 18:01:11 +08:00
    客户端 HTTPS 到 A 是加密的

    A HTTP 到 B 是明文,一般 A 和 B 在内网才用 HTTP 明文,在公网用 HTTPS
    EyebrowsWhite
        12
    EyebrowsWhite  
    OP
       2022-10-31 18:08:17 +08:00 via iPhone
    稍微改一下问题,A 代理到 B 用 TCP 代理(nginx stream )和 https 代理哪个安全些呢,服务是只是 web 服务
    ysc3839
        13
    ysc3839  
       2022-10-31 18:13:34 +08:00
    @EyebrowsWhite 先说你的需求,为什么要反代?是要做负载均衡吗?
    leonshaw
        14
    leonshaw  
       2022-10-31 18:17:46 +08:00
    什么场景? A 和 B 用同一个证书?
    EyebrowsWhite
        15
    EyebrowsWhite  
    OP
       2022-10-31 19:43:24 +08:00
    @ysc3839
    @leonshaw 额..场景其实就是家宽禁用 80 443 端口,我又想用这两个端口
    ysc3839
        16
    ysc3839  
       2022-10-31 21:29:34 +08:00 via Android
    @EyebrowsWhite 那你还是得用另一台服务器中转呀,既然有另一台服务器了,何必用自己家的设备
    Aloento
        17
    Aloento  
       2022-10-31 21:34:09 +08:00
    @ysc3839 他这个估计就是计算节点跟流量节点分离,一个很常见的情况
    herozzm
        18
    herozzm  
       2022-10-31 21:41:30 +08:00
    A -> B http 则是明文,如果是 https 则反之
    如果 A -> B 是内网就不存在安全问题
    EyebrowsWhite
        19
    EyebrowsWhite  
    OP
       2022-10-31 21:46:12 +08:00
    @ysc3839 我主要就是不想把一些数据放在云上,有点强迫症
    yaott2020
        20
    yaott2020  
       2022-10-31 22:15:06 +08:00 via Android
    所以你的需求是暴露内网服务是吗,直接上 frp 就行
    ik
        21
    ik  
       2022-10-31 22:22:41 +08:00 via iPhone
    这个需求 vpn 组网就行了。vpn 来实现流量加密。

    看你的描述家宽应该不带公网 ip 吧? 那你又怎么能实现直接通过 nginx 反代源站呢?
    EyebrowsWhite
        22
    EyebrowsWhite  
    OP
       2022-11-01 07:27:40 +08:00 via iPhone
    @yaott2020 frp 也是可以的
    @ik 有公网,也搭了 wireguard ,但是有极少数的服务想直接暴露,所以研究下怎么比较安全
    ab
        23
    ab  
       2022-11-01 07:28:23 +08:00 via iPhone
    推荐用 stream 转发
    runwu2022
        24
    runwu2022  
       2022-11-01 09:27:17 +08:00
    cdn 加速比较适合你的场景
    EyebrowsWhite
        25
    EyebrowsWhite  
    OP
       2022-11-01 16:34:58 +08:00 via iPhone
    @ab 想问下 stream 转发和 https 转发哪个更安全些呢
    EyebrowsWhite
        26
    EyebrowsWhite  
    OP
       2022-11-01 16:36:24 +08:00 via iPhone
    @runwu2022 额,没必要的吧,转发一下速度也够用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5282 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 03:11 · PVG 11:11 · LAX 19:11 · JFK 22:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.