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

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

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

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

1. 背景简介与软件安装

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

服务 内网端口 公网服务器 ip 期望实现的公网端口
http 网页应用 80 domain.com 8080
ftp 文件服务器 90 domain.com 9090

公网服务器 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

bash 复制代码
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" # 后台登录密码

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

bash 复制代码
./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

bash 复制代码
[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

bash 复制代码
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的映射端口

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

bash 复制代码
./frpc -c frpc.toml

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

3.2 frpc 自启动

把服务注册为系统服务,并实现开机自启动。

/etc/systemd/system/路径下新建文件frpc.service
/etc/systemd/system/frps.service

bash 复制代码
[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 的方式管理了。

相关推荐
易连EDI—EasyLink2 小时前
易连EDI–EasyLink实现OCR智能数据采集
网络·人工智能·安全·汽车·ocr·edi
@insist1232 小时前
信息安全工程师考点精讲:身份认证核心原理与分类体系(上篇)
大数据·网络·分类·信息安全工程师·软件水平考试
SmartRadio2 小时前
ESP32-S3 双模式切换实现:兼顾手机_路由器连接与WiFi长距离通信
开发语言·网络·智能手机·esp32·长距离wifi
_.Switch3 小时前
东方财富股票数据JS逆向:secids字段和AES加密实战
开发语言·前端·javascript·网络·爬虫·python·ecmascript
金色光环4 小时前
FreeModbus释放底层的 TCP 监听端口
服务器·网络·tcp/ip
数智化精益手记局4 小时前
拆解物料管理erp系统的核心功能,看物料管理erp系统如何解决库存积压与缺料难题
大数据·网络·人工智能·安全·信息可视化·精益工程
发光小北5 小时前
Modbus TCP 转 Profibus DP 网关如何应用?
网络协议
灰子学技术6 小时前
Envoy HTTP 过滤器处理技术文档
网络·网络协议·http
Olivia051405147 小时前
Voohu:音频变压器的屏蔽接地技术对50Hz工频噪声抑制的影响
网络·机器人·信息与通信
2401_873479407 小时前
企业安全团队如何配合公安协查?IP查询在电子取证中的技术实践
tcp/ip·安全·网络安全·php