内网穿透的高性能的反向代理应用FRP-自定义404错误页【实践可行版】
frp简介
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
为什么使用 frp ?
通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:
- 客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。
- 采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间。
- 代理组间的负载均衡。
- 端口复用,多个服务通过同一个服务端端口暴露。
- 多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作。
- 高度扩展性的服务端插件系统,方便结合自身需求进行功能扩展。
- 服务端和客户端 UI 页面。
应用场景
把内网做好的系统,通过公网IP实现内网穿透反向代理应用,常用来支持使用开发环境,提供给客户测试系统和演示系统。
环境准备
1、安装Oracle VM VirtualBox
2、安装Centos7.x
3、MobaXterm终端
源码编译步骤
配置Go环境,安装依赖
sudo yum install gcc

下载安装Go
# 下载当前最新版的
wget https://dl.google.com/go/go1.18.linux-amd64.tar.gz

解压到/usr/local
sudo tar -C /usr/local -xzf go1.18.linux-amd64.tar.gz
配置环境变量
# 添加环境变量
vim /etc/profile
在文件的底部添加以下两行:
export PATH=$PATH:/usr/local/go/bin
export GOPATH=/usr/local/gopath
#:wq 保存退出后,重新加载profile文件
source /etc/profile
测试Go环境
go version
出现如下界面:表示安装成功

下载frp的源码包:v0.58.1
通过MobaXterm上传至/usr/local目录

#解压至/usr/local/目录

定制404错误页
frp 的http 404页面写死在frp目录的pkg/util/vhost/resource.go文件里,在resource.go文件里面的const这节,可以很清楚看到http 404的html配置,做一下简单的修改,去掉能暴露出来的frp的标识。
cd /usr/local/frp-0.58.1
#编辑404错误页
vim pkg/util/vhost/resource.go
编辑resource.go

设置代理
若不设置,下载依赖包会因为网络连接问题报错
go env -w GOPROXY=https://goproxy.cn
编译源码
make -f Makefile.cross-compiles 或者 make
生成一个bin目录,可执行文件frpc和frps。

把frp_0.46.1_linux_amd64.tar.gz其中frps文件替换即可

测试编写一个shell脚本
#! /bin/bash
basepath=/usr/local/frp_0.46.1_linux_amd64
nohup ${basepath}/frps -c ${basepath}/frps.ini > ./test.out 2>&1 &
内网穿透的高性能的反向代理应用FRP-自定义404错误页【实践可行版】的更多相关文章
- 借助FRP反向代理实现内网穿透
一.frp 是什么? frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP.UDP.HTTP.HTTPS 等多种协议.可以将内网服务以安全.便捷的方式通过具有公网 IP 节点的中转暴露到公 ...
- 使用FRP做内网穿透
Github地址:https://github.com/fatedier/frp 什么是FRP? frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 h ...
- frp内网穿透学习
前言 因为自己在内网,但是目标站在外网,这时候可以通过内网穿透工具,将接收到的请求转发到内网,实现在内网的msf可以控制外网的靶机. 也看了一些Ngrok,花生壳的,发现Ngrok.cc这个看文章说有 ...
- frp + nginx 配置多人共用的http 内网穿透服务
来源:简书 https://www.jianshu.com/p/c9d7527d607b 一. 前言 frp 是一个用Go语言开发的,可用于内网穿透的高性能的反向代理应用,支持 tcp, udp ...
- frp 用于内网穿透的基本配置和使用
frp 用于内网穿透的基本配置和使用 今天是端午节,先祝端午安康! frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP.UDP.HTTP.HTTPS 等多种协议.可以将内网服务以安全.便 ...
- 使用frp进行内网穿透
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP.UDP.HTTP.HTTPS 等多种协议.可以将内网服务以安全.便捷的方式通过具有公网 IP 节点的中转暴露到公网. frp is a ...
- 使用阿里云服务器配置frp实现Windows系统RDP内网穿透
1.frp服务器采用阿里云ecs的centos7.5系统,客户端是台windows10的系统,做一个RDP服务的内网穿透用. 2.首先下载frp到服务器(链接:https://github.com/f ...
- QuantumTunnel:内网穿透服务设计
背景 最近工作中有公网访问内网服务的需求,便了解了内网穿透相关的知识.发现原理和实现都不复杂,遂产生了设计一个内网穿透的想法. 名字想好了,就叫QuantumTunnel,量子隧道,名字来源于量子纠缠 ...
- frp实现基于反向代理的内网穿透
个人博客主页: xzajyjs.cn frp是什么 简单地说,frp就是一个反向代理软件,它体积轻量但功能很强大,可以使处于内网或防火墙后的设备对外界提供服务,它支持HTTP.TCP.UDP等众多协议 ...
- 【代理】内网穿透工具 frp&frps
frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发. ### frp 的作 ...
随机推荐
- Visual Studio中的四款代码格式化工具
前言 今天大姚给大家分享四款Visual Studio中的代码格式化工具.扩展插件.大家可以在Visual Studio中的管理扩展或者插件市场下载安装. 代码格式化工具的作用 自动调整代码的布局和风 ...
- 5GC 关键技术之 SBA(基于服务的软件架构)
目录 文章目录 目录 前文列表 5GC 的关键技术 SBA(基于服务的软件架构) 微服务架构 NF 的模块化 NF Service 的服务化 前文列表 <简述移动通信网络的演进之路> &l ...
- 基于webapi的websocket聊天室(二)
上一篇 - 基于webapi的websocket聊天室(一) 消息超传缓冲区的问题 在上一篇中我们定义了一个聊天室WebSocketChatRoom.但是每个游客只分配了400个字节的发言缓冲区,大概 ...
- Biwen.Settings添加对IConfiguration&IOptions的集成支持
Biwen.Settings 是一个简易的配置项管理模块,主要的作用就是可以校验并持久化配置项,比如将自己的配置存储到数据库中,JSON文件中等 使用上也是很简单,只需要在服务中注入配置即可, 比如我 ...
- C# java 的 equals 与 == 的区别
C# String a = "宜春"; String b = new String(new char[] { '宜', '春' }); String c = b; //注意这里是引 ...
- uniapp colorui的使用
1.首先我们在Hbuilder x中新建一个uniapp的项目,如下图所示,选择 colorUI项目 2.copy 项目文件夹下的colorUI文件夹到你的项目中去,如下图所示 3.打开根目录下的Ap ...
- Vue前端的搭建(与后端JavaEE的连接)
目录 前端平台搭建(Vue2.6,App:HBulderX) 创建Vue2.6项目 下载相应插件方便开发 路由配置 对连接后端进行一些配置(main.js文件) 导入ElementUI组件 组件 | ...
- 第二次大作业BLOG心得
(1)前言: 知识点: ①ArrayLsit的知识点: ArrayList 是 Java 中的动态数组实现,它提供了自动调整大小的功能,可以根据需要动态增长或收缩. ArrayList 可以存储任意类 ...
- css球体
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- OOP第一阶段题集总结
一.前言 知识点:数组,字符串的使用,链表,hashmap,泛型的使用,正则表达式的使用,类的设计,类与类之间的关系,单一职责. 题量:题目数量为5+4+3,数量适中,其中都是前几题较简单,最后一题较 ...