frp内网穿透(二)


前言

前篇内网穿透
上面一文中已描述如何安装frp进行内网穿透,并配置ssh穿透连接内网服务器,本篇主要介绍如何配置web服务


使用场景

A服务器为公网服务器,B服务器为家庭中内网服务器,且B服务器上运行了2个web服务,最终目的是通过网外直接访问两个web应用,且不暴露web服务接口端口

一、环境准备

B服务器(内网服务器)上运行了2个web服务:

  • web1:前端nginx监听端口8001,后端接口端口8002
  • web2: 前端nginx监听端口9001,后端接口端口9002

域名一个

  • 示例 aaa.fun

二、配置步骤

1.frp server配置

A服务器作为frp server服务器,首先绑定域名,编辑frps.ini

[common]
subdomain_host=aaa.fun

同时在域名控制台,将域名aaa.fun解析到A服务器ip

2.frp client配置

在B服务器frp client中增加配置
这里需要明确,对于一个web应用来说,既要穿透前端访问地址,也需要穿透后端接口地址
编辑frpc.ini

[web1 front]
type=http
local_ip=127.0.0.1
local_port=8001
subdomain=web1

subdomain=web1,表明通过访问web1.aaa.fun,达到访问B服务器ip:8001的目的
继续编辑frpc.ini

[web1 java]
type=http
local_ip=127.0.0.1
local_port=8002
subdomain=black1

subdomain=black1,表明通过访问balck1.aaa.fun,达到访问B服务器ip:8002的目的
web2同理

3.重启

重启A服务器的frp server:systemctl restart frps.service
重启B服务器的frp client:systemctl restart frpc.service

4.效果

浏览器访问
web1.aaa.fun,能到达web1应用,f12打开接口,后端地址black1.aaa.fun/
web1.aaa.fun,能到达web2应用,f12打开接口,后端地址black2.aaa.fun/

三.总结

  1. 其实如果不介意在地址栏存在端口,或者是后端接口地址带有端口的话,可以不用域名
  2. 关于frpc.ini/frps.ini有哪些配置,可以在frpc_full.ini/frps_full.ini中查看,不同版本之间,有所差异
  3. 对于一个web应用,也可以只配置一次穿透,前端和后端,使用同一个域名地址,通过nginx进行区别

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

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

相关文章

Spring 应用中 Swagger 2.0 迁移 OpenAPI 3.0 详解:配置、注解与实践

从 Swagger 2.0 到 OpenAPI 3.0 的升级指南 为什么升级 OpenAPI 3.0提供了更强大的功能、更简洁的配置和更好的性能,同时保持了与 Swagger 2.0 的基本兼容性。本文将详细介绍升级的各个步骤,并提供代码示例。 1. 依赖管理的变化 Swagger 2.0 依赖配置 &l…

用 Flink CEP 打造实时超时预警:从理论到实战

目录 1. Flink CEP 是什么?为什么它能让你的数据“开口说话”? 2. 超时预警的业务场景:从电商到物联网 3. Flink CEP 超时机制的核心原理 3.1 模式匹配与时间窗口 3.2 超时事件的处理 3.3 事件时间与水位线 3.4 核心组件一览 4. 实战案例:电商订单超时预警 4.1 准备…

Rocky Linux 9 源码包安装php7

Rocky Linux 9 源码包安装php7大家好!我是星哥。尽管现在 PHP 版本已迭代至 8.x,但有时为了兼容遗留系统或特定应用需求,我们仍需部署特定版本的 PHP。最主要的是之前的项目采用的PHP7.3,未来兼容旧的项目, 今天&#…

uniapp+vue3+鸿蒙系统的开发

前言: uniappvue3鸿蒙系统的开发。 实现效果: 鸿蒙pad端真机测试效果-下面是正常的日志效果 实现步骤: 1、安装鸿蒙的开发工具,点击安装,注意版本不能太旧了 deveco-studio 2、下载下来是个压缩包,解压后…

【C++类和对象解密】面向对象编程的核心概念(下)

之前我们了解到构造函数是在对象实例化之时对对象完成初始化工作的一个函数。在我们不写时,编译器会自动生成构造函数。构造函数有一些特点,比如,他对内置类型不做处理,对自定义类型的成员会去调用其自身的构造。我们上篇文章还提…

Flutter基础(前端教程①②-序列帧动画)

🧠 核心思路总结​​彻底绕过 Image组件重建带来的性能瓶颈​​:不再让 setState重建包含 Image的 Widget 树(这是开销大、可能导致闪烁的根源),改为使用底层画布 (Canvas) 直接绘制预先处理好的图像帧数据。好的&…

Qt添加dmp文件生成及pdb文件

1.Pdb文件生成 下图先通过构建生成Pdb文件,然后运行程序,通过提前准备的崩溃按钮使得程序崩溃,生成“dump文件”的演示。 # #添加dmp文件生成及pdb文件生成DEFINES QT_MESSAGELOGCONTEXT DEFINES QT_DEPRECATED_WARNINGS# # 添加DUMP文件…

opencv、torch、torchvision、tensorflow的区别

一、框架定位与核心差异PyTorch动态计算图:实时构建计算图支持Python原生控制流(如循环/条件),调试便捷。学术主导:2025年工业部署份额24%,适合快速原型开发(如无人机自动驾驶、情绪识别&#x…

离散与组合数学 杂记

生成函数 概念 又称母函数把一个无穷数列 {an}\{a_n\}{an​}(默认从 000 项起)表示成 G(x)∑i≥0aixiG(x)\displaystyle\sum_{i\ge0} a_ix^iG(x)i≥0∑​ai​xi 的函数形式。例如: ai2ia_i2^iai​2i:G(x)∑i≥02ixiG(x)\display…

学习OpenCV---显示图片

学习OpenCV—显示图片 最近在学习OpenCV入门,于是记录一下自己的学习过程。 一、配置环境 第一步 从官方网站中下载OpenCV开源库。官方下载网站 打开官网后,能看到有很多的版本。我个人下载的是4.11.0版本。点击图中的下载 下载完成后,解…

第一次接触自动化监测,需要付费厂家安装服务吗?比人工测量主要区别是啥?

人工检测是依靠目测检查或借助于便携式仪器测量得到的信息,但是随着整个行业的发展,传统的人工检测方法已经不能满足检测需求,从人工检测到自动化监测已是必然趋势。 a. 从检测方式看 人工检测需要耗费大量的精力,从摆放检测工具到…

VMware Workstation Pro 17下载安装

注册账号 进入下载地址:Free Downloads - Support Portal - Broadcom support portal - https://support.broadcom.com/ 会让注册账号,注册一个就行 在右上角 下载 地址:Free Downloads - Support Portal - Broadcom support portal - ht…

SpringBoot 3.x集成阿里云OSS:文件上传 断点续传 权限控制

SpringBoot 3.x集成阿里云OSS:文件上传/断点续传/权限控制Spring Boot 3.x 集成阿里云 OSS 终极指南一、环境准备与依赖配置1. 添加阿里云 OSS SDK 依赖2. 配置 OSS 连接参数二、基础文件上传服务1. OSS 客户端配置2. 文件上传服务三、断点续…

牛客周赛 Round 100

A小红的双排列没什么好说的 直接 1 1 2 2 3 3 4 4……#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<iostream> #include<bits/stdc.h> #define ll long long using namespace std; int n; int main(){ios::sync_with_stdio(false); …

【Dv3Admin】菜单管理集成阿里巴巴自定义矢量图标库

图标选择是后台管理系统中高频功能。相比用 Element UI、Ant Design 等自带的 icon 集&#xff0c;阿里巴巴 iconfont.cn 支持上传和管理自定义图标&#xff0c;并生成矢量字体&#xff0c;便于统一维护和扩展。 本文目标是支持自定义 iconfont 图标的展示和选择&#xff0c;并…

NO.7数据结构树|线索二叉树|树森林二叉树转化|树森林遍历|并查集|二叉排序树|平衡二叉树|哈夫曼树|哈夫曼编码

线索二叉树 线索二叉树的基本概念 为了解决无法直接找到该结点在某种遍历序列中的前驱和后继结点的问题&#xff0c; 出现了线索二叉树。 一个二叉树通过如下的方法“穿起来” &#xff1a; 所有原本为空的右(孩子)指针改为指向该节点在某种遍历序列中的后继&#xff0c; 所有原…

R语言基础| 基本图形绘制(条形图、堆积图、分组图、填充条形图、均值条形图)

目录 一、前言 二、条形图 1. 简单的条形图 2.堆积、分组和填充条形图(柱状图) &#xff08;1&#xff09;堆积图&#xff0c;对Improved进行堆积&#xff0c;注意position“stack” &#xff08;2&#xff09;分组图&#xff0c;对Improved进行分组&#xff0c;注意posit…

SegNet:一种用于图像分割的深度卷积编码器解码器架构

教程/讲解视频点击文末名片1、什么是语义分割&#xff0c;什么是FCN 我们提出了一种新颖且实用的深度全卷积神经网络架构&#xff0c;用于语义像素级分割&#xff0c;命名为SegNet。 语义分割是指为图像中的每个像素分配一个类别标签&#xff08;如道路、天空、汽车&#xff09…

PyTorch 数据加载全攻略:从自定义数据集到模型训练

目录 一、为什么需要数据加载器&#xff1f; 二、自定义 Dataset 类 1. 核心方法解析 2. 代码实现 三、快速上手&#xff1a;TensorDataset 1. 代码示例 2. 适用场景 四、DataLoader&#xff1a;批量加载数据的利器 1. 核心参数说明 2. 代码示例 五、实战&#xff1…

Python--plist文件的读取

Python练习&#xff1a;读取Apple Plist文件 Plist文件简介 ​​定义​​&#xff1a;Apple公司创建的基于XML结构的文件格式​​特点​​&#xff1a;采用XML语法组织数据&#xff0c;可存储键值对、数组等结构化信息文件扩展名​​&#xff1a;.plist应用场景: ​​iOS系统:​…