ps:最近想要通过域名(公网)访问或者测试在本地搭建的 web 服务(不想在公网IP服务器上再部署个服务,也不想通过teamview等工具远程卡到爆!),
由于本地机器没有公网 IP,无法将域名解析到本地的机器,需要借助内网穿透应用就可以实现这一功能。
frp 就是个优秀的内网穿透应用,详细介绍这里就不说了,有需要的移步 github 去看详细介绍吧~
前提
1、一台公网IP的机器
2、一台可以上网的本地电脑
服务端设置(Linux)
服务端下载frp压缩包
wget https://github.com/fatedier/frp/releases/download/v0.31.2/frp_0.31.2_linux_arm64.tar.gz
吐槽:下载GitHub上的东西太慢了,十几Mb下载了半天没下完~
这里提供个frp_0.31.2linux
和windows
64位
的 百度网盘的分享链接需要的自取~
链接:https://pan.baidu.com/s/19X_5H_e2imdXdLIxxj2IdQ 提取码:wh6e
然后把tar.gz文件解压
tar -xzvf frp_0.31.2_linux_amd64.tar.gz
新建个文件夹,把文件剪切过去
mkdir frp
mv frp_0.31.2_linux_amd64 frp
进入目录
cd frp/frp_0.31.2_linux_amd64/
把一些不需要的客户端文件删掉
rm -f frpc frpc.ini
修改服务端的配置文件
vim frps.ini
配置格式如下:
[common]
bind_port = 7000
dashboard_port = 7500
token = your token
dashboard_user = admin
dashboard_pwd = your password
vhost_http_port = 10080
vhost_https_port = 10443
前台运行: ./frps -c frps.ini
关闭方法:Ctrl+C
后台运行:nohup ./frps -c frps.ini >/dev/null 2>&1 &
关闭方法:
ps
找到frp进程IDkill frp进程ID
说明:>/dev/null 2>&1 &,表示丢弃。
如果运行正常, 打开 localhost:7500 ,输入配置的账号密码后可以看到仪表板界面
客户端设置(Windows)
在内网机器(操作系统:Windows)上下载frp_0.31.2_windows_amd64.zip windows64位
压缩包,解压进入目录,删掉多余的服务端文件frps.exe
frps.ini
修改客户端配置文件frpc.ini
内容格式如下:
[common]
server_addr = 服务端ID地址
server_port = 7000
token = 服务端配置的token
[web]
type = http
local_port = 80 // 本地web服务监听端口
custom_domains = 域名或者IP
说明:custom_domains如果配置域名需要将记录解析到服务端IP 没有域名可以直接填服务端的IP
运行程序frpc -c frpc.ini
通过浏览器访问 http://{custom_domains }:10080 即可访问到处于内网机器上的 web 服务。
frp 还可以实现 ssh 访问公司内网机器、转发 DNS 查询请求、点对点内网穿透等强大功能,具体请去github了解吧~