frp

1.介绍

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。


2.前提

  • 一台公网服务器
  • 可用的域名:yourdomain.com

  • 这里假设公网服务器的ip:39.107.118.48
    域名:yourdomain.com

    3.下载frp

    https://github.com/fatedier/frp/releases

    在这里服务端使用的是linux系统,客户端使用的是windows系统
    根据自己系统选择相应的版本

    4.配置公网服务器

    tar -zxvf frp_0.26.0_linux_amd64.tar.gz
    

    vim frps.ini 
    

    frps.ini 示例信息如下:

    [common]
    #穿透监听端口与地址(0.0.0.0表示允许任何地址)
    bind_addr = 0.0.0.0
    bind_port = 7000
    
    #虚拟主机穿透监听端口(指http与https的访问端口)
    vhost_http_port = 80
    vhost_https_port = 443
    
    # 客户端连接令牌
    token = 12345678
    # 路由地址
    # yourdomain.com 保证该域名是可用的
    subdomain_host = yourdomain.com
    
    #服务端控制面板访问端口(可选)
    dashboard_addr = 0.0.0.0
    dashboard_port = 7500
    dashboard_user = admin
    dashboard_pwd = admin
    
    # 允许客户端使用的穿透端口,不设置则全部允许
    allow_ports = 3000-3010
    # 穿透服务允许的连接数
    max_pool_count = 100
    # 单个客户端允许建立的穿透服务,0为不限制
    max_ports_per_client = 0
    
    启动
    ./frps -c ./frps.ini
    

    关闭
    # 查看frp的线程号
    ps -aux|grep frp| grep -v grep
    
    kill -9 2567
    
    frps管理后台

    http://39.107.118.48:7500

    5.客户端配置

  • 解压 frp_0.26.0_windows_amd64.zip
  • 编辑 frpc.ini 文件
  • #[common为公共配置区域必须存在]
    [common]
    # 与服务端连接令牌
    token = 12345678
    #服务端的访问地址(可用ip或者域名)。
    server_addr = 39.107.118.48
    #服务端用于穿透的端口,与服务端保持一致。
    server_port = 7000
    
    [web]
    type = http
    # 本地ip
    local_ip = 127.0.0.1
    # 映射到本地的端口
    local_port = 8080
    # 二级域名名称 不能重复,重复会启动失败
    subdomain = test 
    
  • 启动
  • 在当前目录下打开cmd窗口 执行命令 :frpc

    6.访问

    通过 test.yourdomain.com 可以访问本地的服务
    这里只是做了个简单的测试

    通过frps管理后台可以监测有哪些客户端,以及使用的是哪些服务

    原文地址:https://www.cnblogs.com/chenshy/p/10785830.html