低成本搭建公网可访问的本地应用

低成本搭建公网可访问的本地应用

1. 内网穿透的核心流程

家庭或办公室的内网设备因无公网 IP 而无法直连。此时,可通过内网穿透软件(如 FRP),在具有公网 IP 的云服务器(代理节点)本地内网服务器(实际服务端) 之间建立持久隧道。工作原理为:

  1. 公网请求抵达云服务器。
  2. 云服务器作为中继,通过隧道将请求转发至内网服务器。
  3. 内网服务器处理请求。
  4. 生成的响应经隧道回传至云服务器。
  5. 云服务器将响应发还给请求方。

云服务器实质充当了请求与响应的双向代理,使得公网用户得以间接访问内网服务。

2. 环境准备

  • 一台拥有公网IP的云服务器
  • 一台本地服务器
  • frp内网穿透软件压缩包

3. 在云服务器上部署frp服务端

可通过两种方式获取软件压缩包:一是下载至本地后上传至云服务器,二是直接在云服务器下载。但由于 GitHub 在国内访问存在稳定性问题,云服务器直接下载易出现网络异常。因此建议在本地借助加速器完成压缩包下载,再上传至云服务器进行部署,以此确保下载过程的稳定性与效率。

3.1 下载Linux版本的压缩包

在这里插入图片描述

3.2 上传压缩包到云服务器(建议使用root用户操作)

在云服务器创建临时目录,用于存放压缩包。

mkdir ~/temp

将下载的压缩包上传至云服务器的临时目录,在本地服务器(Windows系统)打开cmd窗口,使用scp命令上传文件到云服务器。

scp -r C:\Users\20205\Downloads\frp_0.62.1_linux_amd64.tar.gz root@31.20.50.21:~/temp

scp命令解读:scp -r 你的本地文件目录 root@你的公网IP:创建的临时文件夹

3.3 运行frp服务端

将压缩包移动到/usr/local目录下:

mv ~/temp/* /usr/local

解压文件:

tar -zxvf /usr/local/frp_0.62.1_linux_amd64.tar.gz 

在这里插入图片描述

注意文件名,若下载的压缩包不为frp_0.62.1_linux_amd64.tar.gz,需根据实际情况修改文件名。

打开解压目录使用ls命令查看当前文件夹下的所有文件:

cd /usr/local/frp_0.62.1_linux_amd64
ls

在这里插入图片描述

修改frps.toml配置文件:

cat > frps.toml <<EOF
bindPort = 7000 #与本地frp客户端配置文件中的server_port保持一致
auth.token = "your_secure_token_here" #frp服务端与客户端的token保持一致,可自定义

webServer.addr = "0.0.0.0"
webServer.port = 7500 
webServer.user = "admin"
webServer.password = "123456"
EOF

启动服务:

./frps -c frps.toml

在这里插入图片描述

4. 在本地环境中部署frp客户端

4.1 下载Windows版本的压缩包

在这里插入图片描述

4.2 解压文件

在这里插入图片描述

4.3 运行frp客户端

配置frpc.toml文件

serverAddr = "84.74.13.32"  # 替换为云服务器公网IP
serverPort = 7000
auth.token = "your_secure_token_here"  # 与服务端一致

[[proxies]]
name = "web-blog"
type = "tcp"
localIP = "localhost"
localPort = 8080    # 本地博客端口
remotePort = 6001      # 云服务器转发端口

在解压文件夹下新建start.bat文件,添加以下内容保存:

@echo off
frpc.exe -c frpc.toml
pause

在这里插入图片描述

双击start.bat文件,运行frp客户端

在这里插入图片描述

5. 通过公网访问本地HelloWorld应用

5.1 在SpringBoot项目中运行HelloWorld应用(工作在8080端口)

5.2 访问HelloWorld应用

打开浏览器,输入云服务器的公网IP+remotePort配置的端口6001(例:88.88.88.88:6001),即可访问HelloWorld应用。

在这里插入图片描述

我的个人博客网站:www.mengkecoding.cn

我的公众号:小孟的技术笔记

欢迎大家关注~

感谢阅读!如果喜欢这篇内容,欢迎点击【关注】,后续将为您带来更多优质分享~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值