内网穿透(外部网络直接访问测试内网http服务器)解决方案之frp

发布时间 2023-11-10 19:37:16作者: J6`

该方法需要有一台外网可以访问的固定ip机器,一般可以是云服务器
windows、linux、macOS都支持

  1. GitHub上下载frp
    其中包含客户端与服务端执行文件和配置文件

    • 服务端 frps frps.toml
    • 客户端 frpc frpc.toml
  2. 在云服务器上配置与运行服务端(以linux为例)
    以最简单的方式,服务端只需要配置绑定一个客户端接入端口,支持其它特性请查看文档

     bindPort = 7000
    

    下载好对应资源后,将其解压在指定目录下,然后运行脚本{指定目录}/frps {指定目录}/frps.toml
    由于运行后会进入程序导致终端被占用,因此可以用screen或者后台运行该命令,输出日志如:

     2023/11/10 17:58:23 [I] [root.go:102] frps uses config file: ./frps.toml
     2023/11/10 17:58:24 [I] [service.go:200] frps tcp listen on 0.0.0.0:7000
     2023/11/10 17:58:24 [I] [root.go:111] frps started successfully
    
  3. 在内网机器上配置和运行客户端
    以公开http访问入口为例子,其它用法可查看文档
    配置frpc.toml

     serverAddr = "云服务器的ip4地址"
     serverPort = 云服务器上配置的接入端口7000 
    
     [[proxies]]
     name = "test-tcp"
     type = "tcp"
     localIP = "127.0.0.1" http服务使用的内网ip地址
     localPort = 80 内网对应ip机器要公开的端口
     remotePort = 8080 别人通过云服务器访问到这个内网的端口
    

    以windows为例,命令行工具进入到在解压好的文件夹里,运行

     frpc.exe -c frpc.toml
    

完毕