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

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

  •  
  •   EyebrowsWhite · 222 天前 · 1529 次点击
    这是一个创建于 222 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在有一个客户端,通过 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  
       222 天前 via Android
    ????
    yaott2020
        2
    yaott2020  
       222 天前 via Android
    第一个问题:是 http 明文的
    第二个问题:你是怎么得出这样的结论的
    sheeta
        3
    sheeta  
       222 天前
    A 到 B 的网络如果你觉得是可信的,那就是安全的
    EyebrowsWhite
        4
    EyebrowsWhite  
    OP
       222 天前 via iPhone
    @yaott2020 如果是明文的,那么即便对进入服务器的数据抓的包无法解密,但是只需要对服务端的出口抓包就可以看到明文的
    EyebrowsWhite
        5
    EyebrowsWhite  
    OP
       222 天前 via iPhone
    @sheeta 那通常也就意味着 A 和 B 要在同一内网吧,否则感觉都不可信
    linauror
        6
    linauror  
       222 天前
    一般都用到反代了,基本都是内部服务了
    superrichman
        7
    superrichman  
       222 天前
    两个服务都不在一个内网了,还走同一个 nginx ?这不是 nginx 的一般使用场景
    yaott2020
        8
    yaott2020  
       222 天前 via Android
    明文反代一般是在主机内部,或者是在可信的局域网内,跨公网的明文肯定是暴露的,一般不会这么用。
    EyebrowsWhite
        9
    EyebrowsWhite  
    OP
       222 天前 via iPhone
    @yaott2020 那如果跨公网的话反代走 https 靠谱吗,我看 nginx 也是支持的
    EyebrowsWhite
        10
    EyebrowsWhite  
    OP
       222 天前 via iPhone
    @superrichman 确实不是常规的场景🙃,顺便想请问下这种跨公网的反向代理还有什么好的工具吗
    eason1874
        11
    eason1874  
       222 天前
    客户端 HTTPS 到 A 是加密的

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

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