** 如果你们公司没有公网IP,但是又想实现内网穿透,远程调用接口,在家也能调用公司服务器,但是nkg ssl有问题,花生壳坑壁,那么FRP是你最佳的选择!!!**
不过有个前提,要有一台公网服务器(阿里、腾讯等云服务器)

FRP配置( CentOS 7 上安装 FRP教程 )

FRP中文文档地址 : https://gofrp.org/zh-cn/

公网服务器端(frps)

一、下载并解压

进入 FRP GitHub Releases 页面,找到最新稳定版本 (但当前最新frp_0.63.0_linux_amd64.tar.gz,注意版本)

cd /usr/local/
wget https://github.com/fatedier/frp/releases/download/v0.63.0/frp_0.63.0_linux_amd64.tar.gz
tar -zxvf frp_0.63.0_linux_amd64.tar.gz
cd frp_0.63.0_linux_amd64

二、配置 frps.ini

在解压目录下新建 frps.ini,内容示例:

[common]
bind_port = 7000
token = your_secure_token_here# 可选 Dashboard 配置,方便查看连接状态
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin_password

请把 your_secure_token_here 替换为你自己设置的强密码。


三、创建 systemd 服务文件

vim 或其他编辑器创建 /etc/systemd/system/frps.service,内容如下:

[Unit]
Description=FRP Server Service
After=network.target[Service]
Type=simple
User=root
WorkingDirectory=/usr/local/frp_0.63.0_linux_amd64
ExecStart=/usr/local/frp_0.63.0_linux_amd64/frps -c /usr/local/frp_0.63.0_linux_amd64/frps.ini
Restart=on-failure[Install]
WantedBy=multi-user.target

四、启动并设置开机自启

# 重新加载 systemd
systemctl daemon-reload# 启动 frps 服务
systemctl start frps# 查看状态确认是否启动成功
systemctl status frps# 设置开机自启
systemctl enable frps

五、配置防火墙(放行端口)

firewall-cmd --zone=public --add-port=7000/tcp --permanent
firewall-cmd --zone=public --add-port=7500/tcp --permanent
firewall-cmd --reload

六、使用提示

  • 访问 Dashboard:http://公网服务器IP:7500,用配置的账号密码登录
  • 记得在客户端 frpc.ini 配置相同的 tokenserver_addr 以及 server_port(7000)
  • 公网服务器记得打开安全组开放端口

本地服务器(frpc)

一、下载并解压(同 FRPS)

进入 FRP GitHub Releases 页面,找到最新稳定版本

cd /usr/local/
wget https://github.com/fatedier/frp/releases/download/v0.63.0/frp_0.63.0_linux_amd64.tar.gz
tar -zxvf frp_0.63.0_linux_amd64.tar.gz
cd frp_0.63.0_linux_amd64

二、配置 frpc.ini

在解压目录下新建 frpc.ini,内容示例:

[common]
server_addr = 公网服务器IP
server_port = 7000
token = your_secure_token# 映射本地 Web 服务(本地 8080 -> 公网 6000)
[web]
type = tcp
local_ip = 127.0.0.1
local_port = 8080
remote_port = 6000# 映射另一个服务(如本地 3306 数据库 -> 公网 6001)
[db]
type = tcp
local_ip = 127.0.0.1
local_port = 3306
remote_port = 6001# 再加一个服务(如本地 9090 -> 公网 6002)
[api]
type = tcp
local_ip = 127.0.0.1
local_port = 9090
remote_port = 6002

说明

  • [web][db][api] 是不同的“隧道名字”,可以随便起,但不能重复。
  • your_secure_token_here 为frps的token.
  • 每个 [xxx] 配置块都表示一条映射通道。
  • 每个本地服务用一个 remote_port 对应一个公网端口。
  • 记得开放 remote_port 对应的端口号
  • 两个frpc 不能同时用一个 remote_port

三、创建 systemd 服务文件

vim 或其他编辑器创建 /etc/systemd/system/frps.service,内容如下:

[Unit]
Description=FRP Client Service
After=network.target[Service]
Type=simple
User=root
ExecStart=/usr/local/frp_0.63.0_linux_amd64/frpc -c /usr/local/frp_0.63.0_linux_amd64/frpc.ini
Restart=on-failure[Install]
WantedBy=multi-user.target

注意:确保路径 frpcfrpc.ini 都在 /usr/local/frp_0.63.0_linux_amd64/


四、启动并设置开机自启

# 重新加载 systemd
systemctl daemon-reload# 启动 frpc 服务
systemctl start frpc# 查看状态确认是否启动成功
systemctl status frpc# 设置开机自启
systemctl enable frpc

五、服务器上配置防火墙(放行端口,开放的外网端口)

firewall-cmd --zone=public --add-port=6000/tcp --permanent
firewall-cmd --zone=public --add-port=6001/tcp --permanent
firewall-cmd --reload

注意: 本地服务器也得开放内网端口

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

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

相关文章

第三次mysql作业

建立库建立mydb11_syu库2.创建s表,创建sc表二.插入数据向s表插入数据2.向sc表插入数据三.查询1.分别查询student表和score表的所有记录2.查询student表的第2条到5条记录3.从student表中查询计算机系和英语系的学生的信息4.从student表中查询年…

不同场景下git指令的搭配

添加账号 git config --global user.name "YourName" git config --global user.email "your_emailexample.com"设置 Git 默认分支名称为 main: git config --global init.defaultBranch main初始化仓库: git init配置SSH 密钥 如果…

NLP——迁移学习

一、迁移学习的概念 1.预训练模型(Pretrained model) 定义: 简单来说别人训练好的模型。一般预训练模型具备复杂的网络模型结构;一般是在大量的语料下训练完成的。 2.微调(Fine-tuning) 定义:一般是对预训练语言模型,进行垂直领域数据的微调,…

Ubuntu 安装

文章目录硬件准备下载 Ubuntu 镜像创建可启动 USB从 USB 驱动器启动安装 Ubuntu不要忘记更新!用了十多年的笔记本,手边正好有个500G的固态,准备换上。考虑到机器的硬件配置,现在使用windows10实在是有点卡,ubuntu却刚好…

【46】MFC入门到精通——MFC显示实时时间,获取系统当前时间GetCurrentTime()、获取本地时间GetLocalTime()

文章目录1 MFC获取时间方法方法一:获取系统当前时间GetCurrentTime()方法二:获取本地时间GetLocalTime()使用GetTickCount()获取程序运行时间2 MFC显示实时时间 使用方法2.1 获取时间2.2 类向导 添加定时器函数 OnTimer2.3 初始化 设置定时器2.4 定时器函…

Linux717 SWAP扩容;逻辑卷条带化

root192.168.235.20s password:┌────────────────────────────────────────────────────────────────────┐│ • MobaXterm 20.0 • ││ …

人类社会发展过程中的熵增定律

引子研究美国罗斯福新政期间的法案为什么会对美国经济恢复起作用?与千金买马骨和移木赏金之间的区别与联系?以下为豆包 AI回答一、罗斯福新政法案对美国经济起作用的原因罗斯福新政(1933-1939年)通过一系列政策应对大萧条&#x…

Spring-AI系列-入门篇-核心概念、组件和生产要素

原文-Spring AI知识库,欢迎大家评论互动 师父领进门,修行靠自己。 Spring AI is an application framework for AI engineering. Its goal is to apply to the AI domain Spring ecosystem design principles such as portability and modular design an…

从浏览器到服务器:TCP 段的网络传输之旅

本文以简化的网络架构为例,详细介绍了当你在浏览器中输入网址(例如www.google.com)并按下回车键后,TCP段的完整传输过程。我们将探讨DNS解析、ARP、TCP/IP封装、PAT和路由如何协同工作,将数据从个人电脑通过局域网和广…

HCIE - 云计算拿下后的职业选择如何规划?

Hello!大家好,小编是一名专注 IT 领域的资深探索家。我们聊聊HCIE - 云计算,这个认证作为华为认证体系中云计算领域的专家级认证,标志着持有者具备企业级云架构设计、复杂云平台运维及跨场景技术落地能力。但认证本身只是职业进阶…

1-创建Vue3项目

创建Vue3项目前提 已安装 18.3 或更高版本的 Node.js vue 官网 https://vuejs.org/ 创建一个 Vue 应用 ① 新建项目目录,使用 VSCode 打开 VSCode 可安装 Vue-Official 插件协助开发 ② 执行 create vue 指令创建 vue 应用 npm create vuelatest这一指令将…

Codex,Copilot 是什么

Codex是什么 Codex 是 OpenAI 研发的一款专注于代码生成的大型语言模型,它可以根据自然语言描述自动编写程序代码,在软件开发、自动化测试等领域展现出了强大的应用潜力。下面为你详细介绍: 1. 核心功能 代码生成:Codex 能够依据自然语言指令生成代码,像函数、类或者完整…

Typecho插件开发:自定义表单验证规则addRule实战指南

文章目录 Typecho表单验证进阶:为插件和主题添加自定义addRule验证规则 引言 一、Typecho表单验证基础 1.1 Typecho表单系统概述 1.2 addRule方法解析 二、自定义验证规则实现 2.1 创建自定义验证类 2.2 注册自定义验证规则 2.3 使用自定义验证规则 三、高级验证场景实现 3.1 …

数据分布是如何影响目标检测精度的

文章目录一、研究背景与目标模型效果提升数据集优化二、研究问题明细各方向的关联性与核心逻辑1. 高质量数据集的高效筛选与主动学习应用2. 基于推理结果的数据补充与增强方向优化3. 多类别场景下目标尺度与模型精度的关联性4. 损失函数与数据增强对精度的量化影响5. 目标类型专…

Python 网络爬虫 —— 代理服务器

一、会话(Session)(一)核心逻辑HTTP 本身无记忆,每次请求独立。会话(Session) 就是为解决这问题,让客户端(浏览器)和服务器 “记住” 交互状态(比…

Vue在线预览Excel和Docx格式文件

前提:本次示例基于Vue2.x,所用插件为Vue-Office。 一、Vue-Office 插件简介 Vue-Office 是一个一站式解决方案,支持多种 Office 文件格式的在线预览,包括: Word(.docx)Excel(.xlsx、…

提升(Boosting)及 Python 示例

咱们结合这张图,把 “提升” 想象成 “做错题本 请老师补课” 的过程:第一波数据(最上面的圆圈):“第一次作业”假设你第一次做 100 道数学题(图中圆圈里的绿点白点代表不同的题),做…

【生产实践】Linux中NAS挂载丢失后提示“过旧的文件句柄”错误解决

太长不看版: 问题:nas挂载在系统里掉了,使用df或ls访问目录提示过旧的文件句柄解决过程: 和机房联系,发现NAS服务器重启了重新执行mount发现挂不上先umount掉当前挂载,再重新执行mount命令问题解决 umount …

JUnit4

JUnit4 介绍JUnit 是 Java 编程语言的单元测试框架,用于编写和运行可重复的自动化测试。JUnit 特点:JUnit 是一个开放的资源框架,用于编写和运行测试。提供注解来识别测试方法。提供断言来测试预期结果。JUnit 测试允许你编写代码更快&#x…

Python-TCP编程-UDP编程-SocketServer-IO各种概念及多路复用-asyncio-学习笔记

序 欠4前年的一份笔记 ,献给今后的自己。 网络编程 Socket介绍 Socket套接字 Python中提供socket.py标准库,非常底层的接口库。 Socket是一种通用的网络编程接口,和网络层次没有一一对应的关系。 协议族 AF表示Address Family,用于…