【手把手搭建内网穿透】本地启动项目,如何让别人看到?
本文介绍了如何通过Frp工具将本地部署的项目暴露给外部访问,无需使用第三方服务。主要步骤包括:1)在服务器上部署Frp服务端,配置端口、鉴权等信息;2)在Windows客户端下载Frp并修改配置文件,指定服务器地址和本地项目端口;3)通过服务器IP加端口访问本地项目。作者使用腾讯云Ubuntu服务器实践验证,强调遇到问题可利用AI工具解决。该方法适合有自有服务器的开发者,能够快速实现内网穿透,方便
《RabbitMQ》《Spring》《SpringMVC》《项目实战》
😀前置要求
通俗说:主要手把手教你如何将自己本地部署或者IDE启动的项目,给别人提供个地址能够直接访问,免去部署问题。(本文作者现实工作已实践过,放心食用)
但是本文并没有去用市面上服务商提供的部署好的工具,而是去直接将开源穿透工具部署到服务器,因为目前市面上Frp、Ngrok、花生壳等有免费有收费,可能你还会担心会不会泄露等问题。如果你是没有服务器的话,或者就是想用市面上部署好的工具,那就可以停止观看了,以免耽误时间,请移步至其他优秀文章💖。
适用场景:
- window本地部署/IDE启动项目,localhost:port
- 暴露出一个地址(如111.11.111.111:7001),别人可以访问你本地项目
- 自己有个服务器(这里提一下,现在阿里云、华为云、腾讯云都有很多试用或很便宜的服务器,大家完全可以学习/个人使用)
整个流程实际下来十分钟内可能就搞定了,并不复杂,如果大家遇到什么报错问题,一定要学会用现在的DeepSeek、腾讯元宝等AI,基本上都能解决。
🌝服务器上部署Frp
作者实践用的是腾讯云的服务器,Ubuntu系统。
服务器创建配置文件
mkdir -p /data/frps
vim /data/frps/frps.toml
修改配置文件内容
- 一般你本地启动的项目都是http,vhostHTTPPort 这参数就是你后面访问的端口
- auth.token:后续windows端要保持一致,你可以自定义
- webServer.user :是你部署完frp后,登录账号
- webServer.password:登录密码
- 其他的按照我提供的就行,有需要自己改动
# 服务端监听端口
bindPort = 7000
# http代理监听端口
vhostHTTPPort = 7001
# https代理监听端口
vhostHTTPSPort = 7002
# 鉴权方式
auth.method = "token"
# 客户端连接的token,这里可以自己随便规定,后面windows端要保持一致就行
auth.token = "haoze123"
# 服务端UI界面端口
webServer.port = 7500
webServer.addr = "0.0.0.0"
# dashboard's username and password are both optional
webServer.user = "admin"
webServer.password = "123456"
Frp镜像
使用docker拉取Frp服务端镜像(没有docker自行安装一下,很简单)
docker pull snowdreamtech/frps:0.62
运行该容器
docker run -d \
--name=frps \
--network=host \
--restart=always \
-v /data/frps:/etc/frp \
snowdreamtech/frps:0.62
可以访问Frp管理页面,访问地址:http://服务器ip地址:7500,账号密码是上述webServer.user、webServer.password
界面:
这里注意一下,访问不了是你服务器的防火墙端口没放开,这里建议把服务器的端口7500、7000、7001、7002放开(其他端口,是后面会设置,这里先提前放开)
🌗Frp Windows客户端
下载
📶可以进入github的友友:github下载地址
🛜没有魔法,不能进入github的,这里提供以为大佬的仓库:gitcode下载地址,可能会失效
下载后解压即可
修改配置文件
注意是frpc.toml
解压后文件,修改frpc.toml内容:
作者仅用http,本人使用配置:
serverAddr = "服务器ip地址"
serverPort = 7000
auth.method = "token"
auth.token = "作者自己定义的token,如haoze123"
[[proxies]]
name = "web-http"
type = "http"
# 无需改动,这是你本地启动项目的localhost地址
localIP = "127.0.0.1"
# 本地启动项目的端口号,如8080,这里作者项目使用的是8089
localPort = 8089
# 域名,没有域名的就无脑填入服务器ip地址
customDomains = ["服务器ip地址/域名"]
如果有更详细的需要配置如下,如果简单使用直接跳过看如下配置:
serverAddr = "服务器ip"
serverPort = 7000
# 与服务端保持一致
auth.method = "token"
auth.token = "password"
[[proxies]]
name = "web_web"
type = "http"
# 本地应用端口
localPort = 8080
# 域名,指向你的公网IP
customDomains = ["yourdomain.com"]
[[proxies]]
name = "web_https"
type = "https"
# 域名,指向你的公网IP
customDomains = ["yourdomain.com"]
[proxies.plugin]
type = "https2http"
# 本地应用端口
localAddr = "127.0.0.1:8080"
# HTTPS 证书相关的配置,修改证书文件路径
crtPath = "ssl/fullchain.pem"
keyPath = "ssl/privkey.pem"
hostHeaderRewrite = "127.0.0.1"
requestHeaders.set.x-from-where = "frp"
在当前目录下进入命令行(cmd+回车):
运行命令:
frpc.exe -c frpc.toml
成功:
这里如果:一闪而过,命令行工具直接关闭。 这说明是没成功。
🌑使用
访问地址:http://服务器ip:7001,就可以看到你本地启动的项目了。
本教程到此介绍,本人实践通过后才分享的,如果有遇到什么报错,请自行善用AI帮助,基本都能解决,无需担心。
更多推荐
所有评论(0)