这个不算技术,最多算个工具!

事情是这样的,去年我们公司采用本地化代码托管,也就是本地的GitLab,本地虽然安全,速度快,但是外网缺无法访问,所以这就导致部分同事在家就不能享受加班的待遇了,去年我老大用另一种比较牛逼的工具搭建了一个,我没学会,然后另辟蹊径搞了这个简单点的!废话就不多说了

环境准备

1.一台公网服务器Linux/Windows
2.本地一台电脑
3.本地电脑上跑一个服务

公网代理机-内网穿透服务端搭建

1.下载对应系统版本的安装包

​GitHub-Frp下载地址​

使用Frp搭建内网穿透_外网


点击Tags可选择Frp的版本

这里下载草鸡慢,这里教大家一个提速的办法!​​GitHub下载提速​​

2.将下载好的压缩包上传公网服务器并解压

使用Frp搭建内网穿透_服务端_02

3.修改配置文件
注意:frpc、frpc.ini和frps、frps.ini,前者两个文件是客户端所关注文件,后者两个文件是服务端所关注两个文件。

编辑配置

vi ./frpc.ini

使用Frp搭建内网穿透_外网_03

[common]
# tunnel port通信管道
bind_port = 7000(外网通信端口)
# http和https
vhost_http_port = 82 (外网代理端口)
vhost_https_port = 443
# 连接认证token
#token = 123456

# 子域名
subdomain_host = live.xxx.com (外网域名)

# 自定义404 页面,要用绝对路径哦!
custom_404_page = /root/frp_0.27.0_linux_amd64/404.html

# dashboard图形管理页面
dashboard_port = 81 (图形化控制台端口)

dashboard_user = admin
dashboard_pwd = admin

4.启动Frp服务端
linux系统上有两种运行方式
前台启动​​​./frps -c ./frps.ini​​​ 后台启动​​nohup ./frps -c ./frps.ini &​

注意开启81,82,7000端口

如果提示frps没有执行权限
chmod 777 frps 即可

使用Frp搭建内网穿透_压缩包_04

5.访问WEB控制台

公网IP+配置web的端口

第一次访问会输入账号密码,也是上面配置中配的

使用Frp搭建内网穿透_压缩包_05


Frp服务端启动成功!

本地-客户端搭建

这里大多数博客都是直接用公网的压缩包拿来运行在本地!Windows系统下可能运行失败!
这里我是从新下载了一个Windows系统的压缩包,因为我就没运行成功!

1.下载对应版本-系统的压缩包

还是上面下载公网上的压缩包的地址,只不过是下载的系统不同而已!

使用Frp搭建内网穿透_压缩包_06


速度慢可以使用迅雷下载!

2.删除客户端配置文件

使用Frp搭建内网穿透_服务端_07


3.修改客户端配置文件

使用Frp搭建内网穿透_外网_08

[common]
server_addr = xxx.xxx.xxx.xxx(外网服ip)
server_port = 7000 (外网通信端口)

[ssh]
type = tcp
local_ip = 192.168.0.99 (本地ip)
local_port = 22
remote_port = 6000


#公网访问内部web服务器以http方式
[web]
type = http
local_port = 9020 (本地需要代理的端口)
local_ip = 192.168.0.99 (本地ip)
custom_domains = live.........com (外网域名)
remote_port = 82 (代理端口)

4.启动Frp客户端

使用Frp搭建内网穿透_服务端_09


使用Frp搭建内网穿透_服务端_10

.\frpc.exe

5.查看服务端连接数

使用Frp搭建内网穿透_外网_11


连接成功,我这里还配置了TCP的就不过多演示了!,上面的82就是代理端口!

启动本地服务测试内网穿透

1.启动java服务

使用Frp搭建内网穿透_压缩包_12


2.访问公网ip、域名测试

使用Frp搭建内网穿透_外网_13


3.本地服务端控制台打印

使用Frp搭建内网穿透_压缩包_14