使用内网穿透工具 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/49861.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL练手 --- 1251. 平均售价

题目链接:1251. 平均售价 思路: 由题意可知,Prices表和UnitsSold表,表的连接关系为一对一,连接字段(匹配字段)为product_id 要求:查找每种产品的平均售价。而Prices表含有价格还有…

【简历】吉林某一本大学:JAVA秋招简历指导,简历通过率比较低

注:为保证用户信息安全,姓名和学校等信息已经进行同层次变更,内容部分细节也进行了部分隐藏 简历说明 这是一份吉林某一本大学25届计算机专业同学的Java简历。因为学校是一本,所以求职目标以中厂为主。因为学校背景在中厂是正常…

MySQL查询优化:提升数据库性能的策略

在数据库管理和应用中,优化查询是提高MySQL数据库性能的关键环节。随着数据量的不断增长,如何高效地检索和处理数据成为了一个重要的挑战。本文将介绍一系列优化MySQL查询的策略,帮助开发者和管理员提升数据库的性能。 案例1: 使用索引优化查…

Oracle(21)什么是聚集索引和非聚集索引?

在数据库管理系统中,索引是一种用于加速数据检索的结构。主要有两种类型的索引:聚集索引(Clustered Index)和非聚集索引(Non-Clustered Index)。它们在数据存储和检索方面有不同的实现和用途。 聚集索引&a…

自学YOLO前置知识

YOLO前置知识 学习YOLO(You Only Look Once)之前,掌握一些前置知识会帮助你更好地理解和应用该技术。以下是一些推荐的前置知识领域: 计算机视觉基础: 图像处理:了解图像的基本处理技术,如滤波…

【Linux】gcc简介+编译过程

gcc是Linux系统下一款专门针对于C语言的代码编译软件。g则是Linux下针对于CPP语言的代码编译软件,实际上g底层也大量用了gcc代码。 目录 1.gcc基本认识与安装2.gcc编译过程2.1编译 和 链接2.2编译步骤形成的原因2.3编译器的自举2.4链接 1.gcc基本认识与安装 gcc是一…

Neuron协议网关的北向应用插件开发

目录 概述 指令处理层开发​ 应用层开发​ .open​ .close​ .init​ .uninit​ .start​ .stop​ .setting​ .request​ 插件设置文件​ 适配华为的思路 概述 最近研究了一段时间的Neuron协议网关,前面的博文也提到它虽然能够把数据发到华为的IoT平台上…

Adobe国际认证详解-从零开始学做视频剪辑

从零开始学做视频剪辑,是许多初学者面临的挑战。在这个数字媒体时代,视频剪辑已经成为一种重要的技能,无论是个人爱好还是职业发展,掌握视频剪辑技能都是非常有价值的。 视频剪辑,简称“剪辑”,是视频制作过…

高三了,无计算机基础能学计算机吗?

高三阶段学习计算机编程是完全可行的,即使你没有任何计算机基础。我收集制作一份C语言学习包,对于新手而言简直不要太棒,里面包括了新手各个时期的学习方向,包括了编程教学,数据处理,通信处理,技…

《算法笔记》总结No.11——数字处理(上)欧拉筛选

机试中存在部分涉及到较复杂数字的问题,这是编码的基本功,各位一定要得心应手。 目录 一.最大公约数和最小公倍数 1.最大公约数 2.最小公倍数 二.素数 1.判断指定数 2.输出所有素数 3.精进不休——埃拉托斯特尼筛法 4.达到更优!——…

测试开发面试题---JVM

JAVA的内存区域 程序计数器:线程私有的,保存当前线程的字节码文件。JAVA虚拟机栈:包含局部变量信息,用于方法的调用和执行。本地方法栈:与JAVA虚拟机栈类似,但只服务于本地方法。堆:所有线程共…

VMWare 16 安装

1、下载地址 VMware-workstation-full-16.2.4-20089737 2、激活码 VM16:ZF3R0-FHED2-M80TY-8QYGC-NPKYF 3、安装步骤 修改一下【安装位置】,将【增强型键盘驱动程序(需要重新引导以使用此功能()此功能要求主机驱动器上具有 10MB 空间。】【将 wMware…

使用ChatGPT来撰写和润色学术论文的教程(含最新升级开通ChatGpt4教程)​​

现在有了ChatGPT4o更加方便了, 但次数太少了 想要增加次数可以考虑升级开桶ChatGpt4​​ ( OPENAI4 可以减2刀) 一、引言 在学术研究中,撰写高质量的论文是一项重要的技能。本教程将介绍如何利用ChatGPT来辅助完成从论文构思到润色的全过程…

Hadoop 重要监控指标

某安卓逆向课程打包下载(92节课) ​​https://pan.quark.cn/s/53cec8b8055a ​​ 某PC逆向课程(100节课打包下载) ​​https://pan.quark.cn/s/e38f2b24f36c​​ Hadoop 是一个开源的分布式存储和计算框架,广泛应用…

JUC-synchorized与锁原理、锁的升级与膨胀

syn-ed 是一个可重入、不公平的重量级锁;synchronized使用对象锁保证了临界区代码的原子性,无论使用synchorized锁的是代码块还是方法,其本质都是锁住一个对象。 同步代码块,锁住的是括号里的对象同步方法 普通方法,…

Adobe“加速”创意人士开启设计新篇章

近日,Adobe公司宣布了其行业领先的专业设计应用程序——Adobe Illustrator和Adobe Photoshop的突破性创新。这一重大更新不仅为创意专业人士带来了前所未有的设计可能性和工作效率提升,还让不论是插画师、设计师还是摄影师,都能从中受益并创作…

GO内存分配详解

文章目录 GO内存分配详解一. 物理内存(Physical Memory)和虚拟内存(Virtual Memory)二. 内存分配器三. TCMalloc线程内存(thread memory)页堆(page heap)四. Go内存分配器mspanmcachemcentralmheap五. 对象分配流程六. Go虚拟内存ArenaGO内存分配详解 这篇文章中我将抽丝剥茧,…

Redisson中RQueue的使用场景附一个异步的例子

RQueue 是一个基于 Redis 的分布式作业队列系统,它允许开发者在 Ruby 应用程序中实现异步任务处理和计划任务调度。由于 Redis 提供了高性能的内存数据结构存储,RQueue 可以快速地存储和检索队列中的任务,这使得它非常适合于高并发和低延迟的…

【Langchain大语言模型开发教程】评估

🔗 LangChain for LLM Application Development - DeepLearning.AI 学习目标 1、Example generation 2、Manual evaluation and debug 3、LLM-assisted evaluation 4、LangChain evaluation platform 1、引包、加载环境变量; import osfrom dotenv imp…

UVM-config_db机制和用法

1.用途 config_db机制用于在UVM验证平台间传递参数,通常成对出现,其中set相当于寄信,get相当于收信。UVM提供的config_db机制可在组件实例化前就设定好配置信息,这样就可在tb的initial块中就进行设定了。真正将这些配置信息落实在…