使用内网穿透工具 frp 发布内网 web 站点

使用内网穿透工具 frp 发布内网 web 站点


  版权声明:本文为CSDN博主「杨群」的原创文章,遵循 CC 4.0 BY-SA版权协议,于2024年7月20日首发于CSDN,转载请附上原文出处链接及本声明。
  原文链接:https://blog.csdn.net/u011046671/article/details/140568869

一、基础环境

  操作系统:Microsoft Windows Server 2022 Datacenter and Microsoft Windows 10
  发布日期:2024-07-09 版本:0.59.0
  官方主页:https://github.com/fatedier/frp/
  下载地址:https://github.com/fatedier/frp/releases
  官方文档:https://gofrp.org/zh-cn/docs/
  配置参考:https://github.com/fatedier/frp/tree/dev/conf

二、适用场景

  • 我们有些时候将内网 web 站点发布到公网上供用户访问,但是内网主机没有公网IPv4,因此我们需要内网穿透服务。
  • 内网穿透服务也可以理解成网络转发,服务端将接收到用户请求转发给客户端,客户端将响应回复给服务端,服务端转发给用户。
  • 此处我们使用一台具有公网 IPv4 的云主机搭建内网穿透服务。
  • 此处我们只演示内网穿透 http 服务基本,更高级用法请参考官方文档。

三、过程和方法

  • 首选我们从官方主页下载 frp_0.59.0_windows_amd64.zip 并解压至 D:\ProgramFiles\frp_0.59.0_windows_amd64 (或者其他目录) 。(服务端服务器和客户端服务器都要解压)

  • 然后参考以下配置修改配置文件

  • 服务端配置(配置文件为:frps.toml)

    # 服务端与客户端的通信端口
    bindPort = 7000
    
    # auth.method指定使用什么身份验证方法对frpc和frps进行身份验证。默认情况下,这个值是 "token".
    auth.method = "token"
    # auth.token指定令牌内容
    auth.token = "yangqun"
    
    # 管理控制台地址、端口、账号、密码,可以查看运行情况,当地址设置为127.0.0.1时仅能本地访问
    webServer.addr = "127.0.0.1"
    webServer.port = 7500
    webServer.user = "admin"
    webServer.password = "admin"
    
    # 日志路径及文件名
    log.to = "logs/frps.log"
    # 日志级别:trace, debug, info, warn, error
    log.level = "info"
    # 日志保留天数,网络安全法规定为180天
    log.maxDays = 180
    
    # 虚拟主机HTTP服务端口
    vhostHTTPPort = 80
    
  • 设置完成后,使用以下命令启动服务端

    frps.exe -c frps.toml
    

    客户端配置(配置文件为:frpc.toml)

    # 此处填写服务端的公网IPv4地址,此处以 47.98.108.88 为例
    serverAddr = "47.98.108.88"
    # 服务端与客户端的通信端口
    serverPort = 7000
    
    # auth.method指定使用什么身份验证方法对frpc和frps进行身份验证。默认情况下,这个值是 "token".
    auth.method = "token"
    # auth.token指定令牌内容
    auth.token = "yangqun"
    
    # 管理地址、端口、账号、密码,可以在线修改配置文件,当地址设置为127.0.0.1时,仅限本地访问
    webServer.addr = "127.0.0.1"
    webServer.port = 7400
    webServer.user = "admin"
    webServer.password = "admin"
    
    # 日志文件路径
    log.to = "logs/frps.log"
    # 日志级别:trace, debug, info, warn, error
    log.level = "info"
    # 日志保留天数,网络安全法规定为180天
    log.maxDays = 180
    
    [[proxies]]
    name = "web01"
    type = "http"
    localIP = "127.0.0.1"
    localPort = 8080
    # http username和 password 是http协议的安全认证,设置后测试一下,如果有问题就关掉此功能
    httpUser = "admin"
    httpPassword = "admin"
    # 自定义域名,有域名的可以填写域名,没有域名的就填写服务端公网IPv4地址
    customDomains = ["www.jsxufeng.com"]
    # 传输过程中进行加密
    transport.useEncryption = true
    # 传输过程中进行压缩
    transport.useCompression = true
    
  • 设置完成后,使用以下命令启动客户端

    frpc.exe -c frpc.toml
    
  • 以上启动完成后,可以分别查看启动日志,没有异常报错信息后即可认为正常启动。

  • 在本地浏览器打开 http://47.98.108.88/ 即可访问内网的系统。

  • 在服务端服务器本地打开 http://127.0.0.1:7500/ 然后使用账号 admin 和密码 admin 登录,即可查看服务端的运行情况。

  • 在客户端服务器本地打开 http://127.0.0.1:7400/ 然后使用账号 admin 和密码 admin 登录,即可查看客户端的运行情况。

四、参考资料

  官方主页:https://github.com/fatedier/frp/
  官方文档:https://gofrp.org/zh-cn/docs/
  配置参考:https://github.com/fatedier/frp/tree/dev/conf

  版权声明:本文为CSDN博主「杨群」的原创文章,遵循CC 4.0 BY-SA版权协议,于2024年7月20日首发于CSDN,转载请附上原文出处链接及本声明。
CSDN博主「杨群」的原创文章,遵循CC 4.0 BY-SA版权协议,于2024年7月20日首发于CSDN,转载请附上原文出处链接及本声明。
  原文链接:https://blog.csdn.net/u011046671/article/details/140568869

相关推荐

  1. 使用穿透工具 frp 发布 web 站点

    2024-07-20 13:36:06       30 阅读
  2. 使用docker+frp进行穿透

    2024-07-20 13:36:06       38 阅读
  3. 穿透FRP

    2024-07-20 13:36:06       60 阅读
  4. 1Panel应用推荐: frp穿透工具

    2024-07-20 13:36:06       99 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-20 13:36:06       101 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-20 13:36:06       109 阅读
  3. 在Django里面运行非项目文件

    2024-07-20 13:36:06       87 阅读
  4. Python语言-面向对象

    2024-07-20 13:36:06       96 阅读

热门阅读

  1. 【WebRTC】Duplex通信是什么意思?

    2024-07-20 13:36:06       28 阅读
  2. TCP Socket编程示例

    2024-07-20 13:36:06       24 阅读
  3. windows上安装Apache

    2024-07-20 13:36:06       22 阅读
  4. 信息查询_社工

    2024-07-20 13:36:06       22 阅读
  5. Clickhouse 物化视图-optimize无效

    2024-07-20 13:36:06       26 阅读
  6. 07.16_111期_linux_网络通信

    2024-07-20 13:36:06       22 阅读
  7. 我为什么要使用Vim编辑器?

    2024-07-20 13:36:06       19 阅读
  8. 微服务概念篇-服务提供者/服务消费者

    2024-07-20 13:36:06       23 阅读
  9. 后端配置了相关字段后的前端跨域处理

    2024-07-20 13:36:06       24 阅读
  10. IP地址:由电脑还是网线决定?

    2024-07-20 13:36:06       20 阅读