如果你想让其它人访问你本机的项目,在本地工作环境没有固定IP的情况下,很不方便实现。百度一下发现网上有一些花生壳之类的工具,可以实现内网穿透,但不是要收费VIP费用,就是速度慢、流量受限。如何布置一套免费而且速度最快的解决内网穿透的方案呢?
下面我将布置步骤记录下来,以作备忘,也供有需要的朋友参考。
1. 准备工作
- 一台拥有公网IP的服务器
- 本机电脑(当然要联网)
- 二级域名
2. 开始
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
3. 下载
目前可以在 Github 的 Release 页面中下载到最新版本的客户端和服务端二进制文件,所有文件被打包在一个压缩包中。
这里我们要下载两个版本,一个放在服务器上,一个放在本机电脑上。
4. 服务器端布署
这里以宝塔服务器为例。将服务器版FRP文件解压后,上传到服务器新建的frp文件夹下。
修改frps.ini文件,bind_port不用改,vhost_http_port改成8000或8080。
[common]
bind_port = 7000
vhost_http_port=8000
在“安全”中放行这两个端口。
在应用市场中,搜索“进程守护管理器”并安装。
点击管理器的“设置”,添加守护进程。
启动命令 /www/wwwroot/frp/frps -c ./frps.ini
启动命令和进程目录要填写前面放frp文件的目录。
下一步,配置网站域名和反向代理。 在“网站”中,新建网站,绑定域名。
进入反向代理,添加反向代理:
目标URL要带上设置的端口:http://yourdomain.com:8000
至此,服务器端的设置全部完毕!
5. 本机布署
将windows版本的FRP文件下载并解压:
修改frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000
[ssh]
type = http
local_ip = 127.0.0.1
local_port = 8000
custom_domains = yourdomain.com
启动本机的web服务。确保 http://127.0.0.1:8000 能访问。
再启动本地frpc服务,进入FRP文件夹,在地址栏输入CMD, 输入启动命令:
frpc -c ./frpc.ini
看到login to server success,本地启动成功!
这时访问域名,就可以直接访问本机的项目了。
更多的功能可以看官方文档。