侧边栏壁纸
博主头像
Tony's Blog博主等级

行动起来,coding

  • 累计撰写 83 篇文章
  • 累计创建 58 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录
go

Frp内网穿透

Tony
2024-02-20 / 0 评论 / 0 点赞 / 11 阅读 / 3901 字

本文链接: https://blog.csdn.net/lishuangquan1987/article/details/126246197

版权

Frp开源地址:https://github.com/fatedier/frp

下载Release可执行文件:

1-qluh.png

每个平台都有客户端和服务端,可以搭配混合使用。

前提条件

  • 云服务器(具有公网IP,简称主机A)
  • 本地网络程序(本地主机,能上网,不具有公网IP,简称主机B)

为简单起见,本地网络程序使用go语言写一个简单的web api程序如下:

package main

import (
	"fmt"
	"time"
	"github.com/gin-gonic/gin"
)

func main() {
	r := gin.Default()
	r.GET("/test",func(ctx *gin.Context) {
		ctx.JSON(200,gin.H{
			"Hello":"World",
		})
	})
	r.Run(":5050")
}

本地访问:浏览器输入 http://localhost:5050/test:

2-uoyi.png

目的

在本地电脑上运行一个Web Api,能够在其他能上网的电脑(与本地电脑不在一个局域网)上访问的到。

其中客户端是Windows系统,服务端是Centos8系统

Frp配置

服务端

# frps.ini
[common]
bind_port = 7000 #服务端监听的端口,供客户端去连接
dashboard_port = 7500
dashboard_user = user
dashboard_pwd = pwd
token = 0123456789 #服务端Token

客户端配置

# frpc.ini
[common]
server_addr = 120.79.6.168 #服务器地址,即阿里云公网IP地址
server_port = 7000 #服务端端口,需要与服务端配置一致
token = 0123456789 #客户端token,需要与服务端保持一致

[tcp1]
type = tcp
local_ip = 127.0.0.1 #本地主机能访问到服务的地址,不一定是本地IP
local_port = 5050 #本地主机能访问到服务的端口
remote_port = 6001 #希望公网IP暴露的端口号

启动

启动服务端:

在Centos8终端中输入以下命令:

./frps -c ./frps.ini

启动客户端:

在Windows命令提示行中输入以下命令:

frpc.exe -c frpc.ini

访问

在浏览器中输入 http://120.79.6.168:6001/test:

3-icle.png

即实现了内网穿透。

0

评论区