frp 实现 http / tcp 内网穿透(穿透 wordpress )

frp 实现 http / tcp 内网穿透(穿透 wordpress )

  • 1. 背景简介与软件安装
  • 2. 服务端配置
    • 2.1 配置文件
    • 2.2 wordpress 配置文件
    • 2.3 frps 自启动
  • 3.客户端配置
    • 3.1 配置文件
    • 3.2 frpc 自启动

同步发布在个人笔记frp 实现 http / tcp 内网穿透(穿透 wordpress )

1. 背景简介与软件安装

前面有笔记记录了我们内网穿透的方案:

服务内网端口公网服务器 ip期望实现的公网端口
http 网页应用80domain.com8080
ftp 文件服务器90domain.com9090
公网服务器 domain.com
内网服务器
ssh / frp
ssh / frp
port: 81
nginx 服务1
port: 8080
port: 91
ngixn 服务2
port: 9090
http 网页应用
port:80
ftp 文件服务器
port:90
用户

frp 工具实现的是内网服务器与公网服务器之间的通信,它由两部分组成,分别是服务端 frps客户端 frpc,服务端 frps 布置在公网服务器上,客户端 frpc 布置在内网服务器上,信息流近似如下(对于我们的方案,nginx 也可以视为“用户”):

访问申请
传递申请
返回服务
传递服务
用户/nginx
公网服务器: frps 服务端
内网服务器: frpc 服务端

frp 安装推荐从 github 下载:frp_release。
要注意,不同版本的 frp 配置文件写法不同,老一些的版本使用的 ini 配置文件,新一些的版本使用的toml格式,推荐大家配置前阅读一下官方的文档frp文档。
下载下来后解压获得可运行的二进制文件frpsfrpc,分别拷贝到公网服务器和内网服务器就算安装好了。具体的放置位置与配置文件编写,下面详细记录。

2. 服务端配置

2.1 配置文件

推荐安装位置在公网服务器/usr/local/etc/frp,当然你也可以安装在自己喜欢的地方,下面把路径用server_path/代替。把frps文件放在路径下,然后在路径下新建配置文件frps.toml
server_path/frps.toml

bindPort = 6666			# frps 用来与客户端通信的端口

vhostHTTPPort = 81		# 穿透的http服务的暴露端口
#vhostHTTPSPort = 444	# 如果是https协议用这个字段

auth.token = "your_token"	# 用来认证的令牌,frps和frpc要保持一致

# Server Dashboard,可以查看frp服务状态以及统计信息的后台管理面板
webServer.addr = "0.0.0.0" # 后台管理地址,就是服务器ip地址
webServer.port = 7777 # 你可以自定义
webServer.user = "user" # 后台登录用户名
webServer.password = "your_password" # 后台登录密码

保存好后,可以通过命令运行:

./frps -c frps.toml

2.2 wordpress 配置文件

如果要穿透的是 wordpress 服务,只有一点必须要注意,那就是vhostHTTPPort必须与内网上的 wordpress 端口保持一致,否则就会穿透失败。
比如内网的 wordpress 服务在 192.168.1.2:6060,那么vhostHTTPPort 就必须设置为6060

2.3 frps 自启动

把服务注册为系统服务,并实现开机自启动。
/etc/systemd/system/路径下新建文件frps.service
/etc/systemd/system/frps.service

[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=server_path/frps -c server_path/frps.toml

[Install]
WantedBy=multi-user.target

然后终端运行systemctl enable frps.service就把服务注册为开机自启动了,后面就可以用systemctl 的方式管理了。
这时候浏览器访问公网服务器ip:7777,输入设置的用户密码,就能进入 frps 的后台管理界面了。
在这里插入图片描述

3.客户端配置

3.1 配置文件

推荐安装位置在公网服务器/usr/local/etc/frp,当然你也可以安装在自己喜欢的地方,下面把路径用client_path/代替。把frpc文件放在路径下,然后在路径下新建配置文件frpc.toml
client_path/frpc.toml

serverAddr = "xx.xx.xx.xx"	# 公网服务器ip
serverPort = 6666			# 公网服务器frps配置的通道端口

auth.token = "your_token" 	# 与frps配置的令牌相同

# http 穿透服务
[[proxies]]
name = "http-1"		# 要为每个服务起一个专属的名字,不能重复
type = "http"		# 选择穿透协议
localPort = 80	# 本地服务的端口
customDomains = ["domain.com"]	# 注意此处是必填项,后面访问服务也必须使用这个域名,用ip等别的方式是不能访问服务的;如果此处填的是ip,则也只能通过ip来访问。
# ftp 穿透服务
[[proxies]]
name = "ftp-1"
type = "tcp"		# 选择tcp协议
localPort = 90		#内网ftp端口
remotePort = 91		#frps的映射端口

保存好后,可以通过命令运行:

./frpc -c frpc.toml

此时内网穿透就已经配置好了,可以登录 frps 的后台查看服务情况。也可以和服务端一样,把客户端也注册为自启动服务。

3.2 frpc 自启动

把服务注册为系统服务,并实现开机自启动。
/etc/systemd/system/路径下新建文件frpc.service
/etc/systemd/system/frps.service

[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=client_path/frpc -c clientr_path/frpc.toml

[Install]
WantedBy=multi-user.target

然后终端运行systemctl enable frpc.service就把服务注册为开机自启动了,后面就可以用systemctl 的方式管理了。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

多目标粒子群算法及其MATLAB实现

多目标粒子群优化(Multi-Objective Particle Swarm Optimization, MOPSO)算法是一种基于种群的优化算法,它结合了粒子群优化(Particle Swarm Optimization, PSO)和多目标优化的思想。多目标粒子群(MOPSO&am…

DevOps(八)Jenkins的Maven和Git插件

一、Maven简介 Maven是一个构建生命周期管理和理解工具,用于Java项目。它提供了标准化的构建流程,并简化了从项目编译到文档生成等各种构建方面的管理。 Maven是由Apache软件基金会开发和维护的一个流行的项目管理工具。它的设计目的是简化Java项目的构…

PE结构(二)PE头字段说明

PE头字段 DOS头 PE标记 标准PE头 可选PE头 我们今天分析一下PE头字段中所有重要成员的含义 DOS头 DOS头中我们需要去分析的是如下两个成员: 1.WORD e_magic:MZ标记,用于判断是否为可执行文件,即如果显示4D 5A,…

[2021年最新]国产时序性数据TDenige入门

一、TDenige简介 TDengine:是涛思数据面对高速增长的物联网大数据市场和技术挑战推出的创新性的大数据处理产品,它不依赖任何第三方软件,也不是优化或包装了一个开源的数据库或流式计算产品,而是在吸取众多传统关系型数据库、NoS…

图搜索的经典启发式算法A星(A*、A Star)算法详解

文章目录 1. 引言2. 广度优先搜索3. Dijkstra 算法4. 启发式优先搜索(Heuristic)4.1 贪心最佳优先搜索4.2 A*搜索 1. 引言 在许多场景中,我们常会遇到一类问题,即“找到一个位置到另一个位置的距离最短(用时最少&…

ELK 日志分析系统(二)

一、ELK Kibana 部署 1.1 安装Kibana软件包 #上传软件包 kibana-5.5.1-x86_64.rpm 到/opt目录 cd /opt rpm -ivh kibana-5.5.1-x86_64.rpm 1.2 设置 Kibana 的主配置文件 vim /etc/kibana/kibana.yml --2--取消注释,Kiabana 服务的默认监听端口为5601 server.po…

ubuntu 24.04 beta server NAT模式上网设置

在Ubuntu 24.04 Beta上设置网络通常涉及使用命令行工具。以下是设置静态IP地址和动态IP地址的步骤: 动态IP设置: 查找你的网络接口名称: ip a ens37是我NAT模型的一张网卡,此时是没有ip的。 下面介绍如何NAT模式下添加DHCP动态…

Maven多模块快速升级超好用Idea插件-MPVP

功能:多模块maven项目快速升级指定版本插件,并提供预览和相关升级模块日志能力。 可快速进行版本升级,进行部署到Maven仓库。 安装: 可在idea插件中心进行安装 / 下载资源拖动安装 MPVP(Maven) - IntelliJ IDEs Plugin | Marke…

node.js 解析post请求 方法一

前提:依旧以前面发的node.js服务器动态资源处理代码 具体见 http://t.csdnimg.cn/TSNW9为模板,在这基础上进行修改。与动态资源处理代码不同的是,这次的用户信息我们借用表单来实现。post请求解析来获取和展示用户表单填写信息 1》代码难点&…

快速新建springboot项目

一、初始化 1.打开IDEA,在Spring initializer这里按照下图项目进行配置。注意:如果jdk是1.8建议将Server URL这里替换为图中的阿里云服务器,否则容易找不到对应的java8,然后点击next 2.在这里提前配置一些需要使用的依赖&#xf…

Linux上部署Jupyter notebook

安装jupyter notebook pip install notebook #或者 conda install notebook配置 jupyter notebook --generate-config## The IP address the notebook server will listen on. # Default: localhost # 设置可以访问的ip, 默认是localhost, 将其改为 * c.NotebookApp.ip *#…

CMakeLists.txt中如何添加编译选项?

1. 引子 编译器有多种可供选择,如g、c、clang等,如下以c作为示例。 2. 使用CMAKE_CXX_FLAGS添加编译选项 在Makefile中可能用类似如下的指令来添加编译选项: /usr/bin/c -Wall -Wextra -Wno-sign-compare -Wno-unused-variable -Wno-unuse…

LLM大语言模型(十三):ChatGLM3-6B兼容Langchain的Function Call的一步一步的详细转换过程记录

# LangChain:原始prompt System: Respond to the human as helpfully and accurately as possible. You have access to the following tools: Calculator: Useful for when you need to calculate math problems, args: {\calculation\: {\description\: \calcul…

云安全防御篇:如何识别并做好服务器DDoS防护?

伴随着全球互联网业务和云计算的快速发展,作为一种破坏力巨大的攻击方式,DDoS攻击正以超出服务器承受能力的流量淹没网站,导致服务器宕机、企业营业额下跌,甚至企业品牌形象受损。越是面对复杂的攻击,就需要性能更强的…

linux安装nacos(单机简易版本)

1. 查看Java版本,必须有jdk支持 2. 下载安装包,解压 下载地址: https://github.com/alibaba/Nacos/releases 2.1 上传到 /opt文件夹 2.2使用解压命令 tar -zxvf nacos-server-2.2.1.tar.gz 2.3 解压后产生文件夹 3. 配置 3.1 修改配置&…

牛客NC98 判断t1树中是否有与t2树完全相同的子树【simple 深度优先dfs C++/Java/Go/PHP】

题目 题目链接: https://www.nowcoder.com/practice/4eaccec5ee8f4fe8a4309463b807a542 思路 深度优先搜索暴力匹配 思路和算法这是一种最朴素的方法——深度优先搜索枚举 s 中的每一个节点,判断这个点的子树是否和 t 相等。如何判断一个节点的子树是否…

zabbix6.4告警配置(短信告警和邮件告警),脚本触发

目录 一、前提二、告警配置1.邮件告警脚本配置2.短信告警脚本配置3.zabbix添加报警媒介4.zabbix创建动作4.给用户添加报警媒介 一、前提 已经搭建好zabbix-server 在需要监控的mysql服务器上安装zabbix-agent2 上述安装步骤参考我的上篇文章:通过docker容器安装za…

WEP、WPA、WPA2 和 WPA3:区别和说明

无线网络安全是保持在线安全的一个重要因素。通过不安全的链路或网络连接到互联网是一种安全风险,可能会导致数据丢失、帐户凭据泄露,以及他人在您的网络上安装恶意软件。必须使用适当的 Wi-Fi 安全措施 - 但在这样做时,也必须了解不同的无线…

[Linux初阶]常见的指令

我们学Linux指令,其实就是和学windows一样,学习Linux的操作 一、Linux下基本指令 ls 指令 语法 : ls [ 选项 ] [ 目录或文件 ] 功能 :对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出…

就业班 第三阶段(负载均衡) 2401--4.19 day3

二、企业 keepalived 高可用项目实战 1、Keepalived VRRP 介绍 keepalived是什么keepalived是集群管理中保证集群高可用的一个服务软件,用来防止单点故障。 ​ keepalived工作原理keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundan…