当前位置: 首页 > news >正文

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

使用内网穿透工具 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,转载请附上原文出处链接及本声明。
  原文链接:https://blog.csdn.net/u011046671/article/details/140568869

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • WebGoC题解(13) 狐猬编程:GoC L4 结业测试 第4题 找木柴
  • 自动驾驶---视觉Transformer的应用
  • 工具(linux)
  • 判断用户输入IP的合法性判断输入IP与本机IP是否在同一网段C++QT
  • 【中项】系统集成项目管理工程师-第4章 信息系统架构-4.3应用架构
  • (7) cmake 编译C++程序(二)
  • PyTorch 深度学习实践-循环神经网络(高级篇)
  • React--Redux
  • 多维时序 | Transformer+BiLSTM多变量时间序列预测(Python)
  • HAL库源码移植与使用之RTC时钟
  • 时间和空间复杂度
  • Docker、containerd、CRI-O 和 runc 之间的区别
  • 第1关 -- Linux 基础知识
  • AV1技术学习:Transform Coding
  • LeetCode:x的平方根(C语言)
  • [Vue CLI 3] 配置解析之 css.extract
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • css选择器
  • gulp 教程
  • JavaScript类型识别
  • js算法-归并排序(merge_sort)
  • k8s 面向应用开发者的基础命令
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • NSTimer学习笔记
  • python学习笔记 - ThreadLocal
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • 成为一名优秀的Developer的书单
  • 程序员该如何有效的找工作?
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 规范化安全开发 KOA 手脚架
  • 基于axios的vue插件,让http请求更简单
  • 微信小程序设置上一页数据
  • 一些关于Rust在2019年的思考
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • #考研#计算机文化知识1(局域网及网络互联)
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (STM32笔记)九、RCC时钟树与时钟 第二部分
  • (第30天)二叉树阶段总结
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (三)SvelteKit教程:layout 文件
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (一)模式识别——基于SVM的道路分割实验(附资源)
  • .gitignore不生效的解决方案
  • .net 验证控件和javaScript的冲突问题
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • .NetCore部署微服务(二)
  • .NET的微型Web框架 Nancy
  • .Net环境下的缓存技术介绍
  • [ vulhub漏洞复现篇 ] Celery <4.0 Redis未授权访问+Pickle反序列化利用
  • [ 数据结构 - C++]红黑树RBTree
  • [.net]官方水晶报表的使用以演示下载
  • [ABC294Ex] K-Coloring
  • [Android]How to use FFmpeg to decode Android f...