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

frp 内网穿透开启了 HTTPS,但不是很明白其中的原理

  •  
  •   jukanntenn · 15 小时 21 分钟前 · 874 次点击

    这是我的方案:

    NAS 上运行 frpc ,云服务器运行 frps ,假设我要暴露 alist 服务(运行在 NAS 上,端口 5244 ),frpc 的配置就是:

    [[proxies]]
    name = "alist"
    type = "tcp"
    localIP = "127.0.0.1"
    localPort = 5244
    remotePort = 5245
    transport.useCompression = true
    

    域名 alist.myhome.com 解析到云服务器上,云服务上运行一个 caddy ,将 https://alist.myhome.com 的访问转给云服务器上的 127.0.0.1:5245 。

    NAS 上我在配置 Nginx 的反向代理,源为 https://alist.myhome.com 目的为 localhost:5244 ,这样 HTTPS 就启用成功了。

    我不明白的地方是 frp server 将请求发给 frp client 后,为什么会经过 Nginx ?

    7 条回复    2025-01-22 09:25:24 +08:00
    imdong
        1
    imdong  
       15 小时 18 分钟前 via iPhone   ❤️ 1
    有哪些可能,你这步 Nginx 是多余的呢🐶
    yulgang
        2
    yulgang  
       15 小时 13 分钟前   ❤️ 1
    nas 上配置 nginx 那步应该是为了让内外网访问方式一致,又不用去外面绕一圈吧,估计还有个内网 dns 服务,内网解析域名时返回的是 nas 主机的 IP ,互联网上解析你的域名就是云服务器的 IP
    jukanntenn
        3
    jukanntenn  
    OP
       15 小时 5 分钟前
    @yulgang
    @imdong
    啊,确实,当时没太搞明白就只知道照着教程做了。现在明白了,确实是外网访问不需要 nginx ,内网通过 dns 将域名重写成 nas 的 ip ,nginx 就派上用场了。
    huaxianyan
        4
    huaxianyan  
       14 小时 34 分钟前   ❤️ 2
    Nginx 这步不需要啊,你用 Frp 转发就相当于把 NAS 上的东西变成云服务器上的一个本地服务,要做一个使用 Web Server 反代本地服务的这么一个操作,直接反代开启 HTTPS 就完事了
    coolfan
        5
    coolfan  
       12 小时 32 分钟前 via Android
    frpc 的配置文件看,从公网访问的时候没有经过 nas 上的 Nginx 呀,直接就是 alist 的端口👀
    wanwusangzhi
        6
    wanwusangzhi  
       4 小时 45 分钟前
    你是先请求 nginx nginx 请求 frps 然 frps 请求 frpc
    make115
        7
    make115  
       4 小时 1 分钟前
    frpc 的 subdomain="immich" 呢,nas 上的 nginx 根本不需要
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3828 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 05:26 · PVG 13:26 · LAX 21:26 · JFK 00:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.