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

服务器使用frp做内网穿透详细教程,请码住

目录

1.内网穿透的定义

2.前提条件

3.frp下载地址

4.配置服务器端的frps.toml文件

5.  配置客户端,即物理服务器或者是电脑本机地址   

6.添加服务端启动命令startServerFrp.sh

7.添加客户端启动命令startClientFrp.sh

8. 查看服务端启动日志

9.查看客户端启动日志


1.内网穿透的定义

        可以将内网中的设备暴露到公网中,使得公网中的设备可以访问内网中的设备。内网穿透通常用于解决以下问题:

  1. 内网中的设备无法直接访问公网,例如家庭网络中的设备通常只能通过路由器访问公网。
  2. 公网中的设备无法直接访问内网中的设备,例如远程办公时需要访问公司内部的服务器

2.前提条件

        需要准备好一台云服务器,以及一个域名,通过域名解析服务器地址。

3.frp下载地址

        在github搜索frp,地址为:Release v0.52.0 · fatedier/frp · GitHub


4.配置服务器端的frps.toml文件

       bind_port是frp绑定端口,服务端与客户端要保持一致。

        配置内容:

[common]
bind_port = 7000
dashboard_port = 7500
token = 12345678
dashboard_user = admin
dashboard_pwd = admin
vhost_http_port = 8089

5.  配置客户端,即物理服务器或者是电脑本机地址   

        配置内容:

#serverAddr = "127.0.0.1"
#serverPort = 7000#[[proxies]]
#name = "test-tcp"
#type = "tcp"
#localIP = "127.0.0.1"
#localPort = 22
#remotePort = 6000[common]
server_addr = gitlab.xxx.cn
server_port = 7000
token = 12345678[web]
type = http
local_port = 8089
local_ip = 127.0.0.1
custom_domains = gitlab.xxx.cn
#remote_port = 8089
custom_path = /[front]
type = http  
local_port = 8091  
local_ip = localhost
custom_domains = front.xxx.cn
#custom_path = /[backend]
type = http
local_port = 8848
local_ip = 127.0.0.1
custom_domains = backend.xxx.cn
#custom_path = /api

  local_port 这个端口不同需要配置不同域名,这些域名都要解析到同一个ip地址。

  local_port 想通,则需要加custom_path参数区分不同访问地址

6.添加服务端启动命令startServerFrp.sh

#!/bin/sh
nohup ./frps -c frps.toml > frps.log 2>&1 &

7.添加客户端启动命令startClientFrp.sh

#!/bin/sh
nohup ./frpc -c frpc.toml > frpc.log 2>&1 &

8. 查看服务端启动日志

9.查看客户端启动日志

自己搭建内网穿透比买的要好用,能充分利用云服务器带宽,节省资源,节省成本。

相关文章:

  • 删除搜狗拼音输入法,右键菜单打印及pdf操作
  • Spring MVC 参数校验 总结
  • Matlab实现鲸鱼优化算法优化回声状态网络模型 (WOA-ESN)(附源码)
  • 在pycharm中怎样调试HTML网页程序
  • SOLIDWORKS 2025基于浏览器角色的新功能:如何简化设计流程?
  • 《AI办公类工具表格处理系列之三——GPT-Excel》
  • 企业数字化转型的深度剖析:从理论到实践的全面指南
  • ansible playbook多个play多个task
  • ​​乐​​牛一​面​​​游​​卡​​一​二​​​​面​
  • post请求失败failed The system cannot find the path specified
  • docker 部署 WEB IDE
  • (done) Go 语言:三种多文件协作方式
  • word2vector训练代码详解
  • C++的6种构造函数
  • 分享国产32位单片机的电机控制方案
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • 【前端学习】-粗谈选择器
  • 03Go 类型总结
  • Create React App 使用
  • ES6系统学习----从Apollo Client看解构赋值
  • JS基础之数据类型、对象、原型、原型链、继承
  • Laravel 菜鸟晋级之路
  • opencv python Meanshift 和 Camshift
  • python学习笔记 - ThreadLocal
  • Redis学习笔记 - pipline(流水线、管道)
  • Webpack 4 学习01(基础配置)
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 山寨一个 Promise
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 写代码的正确姿势
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • hi-nginx-1.3.4编译安装
  • 仓管云——企业云erp功能有哪些?
  • # 数仓建模:如何构建主题宽表模型?
  • (1)(1.13) SiK无线电高级配置(五)
  • (2024.6.23)最新版MAVEN的安装和配置教程(超详细)
  • (33)STM32——485实验笔记
  • (Charles)如何抓取手机http的报文
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (二)Linux——Linux常用指令
  • (接口自动化)Python3操作MySQL数据库
  • (利用IDEA+Maven)定制属于自己的jar包
  • (四) 虚拟摄像头vivi体验
  • *1 计算机基础和操作系统基础及几大协议
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .md即markdown文件的基本常用编写语法
  • .Net 4.0并行库实用性演练
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .NET Core 成都线下面基会拉开序幕
  • .Net Core 微服务之Consul(二)-集群搭建
  • .NET Core中Emit的使用
  • .Net 代码性能 - (1)
  • .NET 设计模式初探
  • .NET8 动态添加定时任务(CRON Expression, Whatever)
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题