准备:
①FRP软件包:https://github.com/fatedier/frp/releases
FRP 项目地址:https://github.com/fatedier/frp
②服务器:我这里有阿里云的学生机win12r系统
③本地能够访问的web环境以及项目
过程:
下载正确的FRP软件包
服务器以及本地各放一份
配置
服务器上:
- 修改 frps.ini 文件,设置 http 访问端口为 8080:
# frps.ini [common] bind_port = 7000 vhost_http_port = 8080
- 启动 frps;
./frps -c ./frps.ini
本地:
- 修改 frpc.ini 文件,假设 frps 所在的服务器的 IP 为 x.x.x.x,local_port 为本地机器上 web 服务对应的端口, 绑定自定义域名
www.yourdomain.com
:
# frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000
[web]
type = http
local_port = 80
custom_domains = www.yourdomain.com
- 启动 frpc:
./frpc -c ./frpc.ini
- 将
www.yourdomain.com
的域名 A 记录解析到 IPx.x.x.x
,如果服务器已经有对应的域名,也可以将 CNAME 记录解析到服务器原先的域名。 - 通过浏览器访问
http://www.yourdomain.com:8080
即可访问到处于内网机器上的 web 服务。
上面的都是从官方复制过来的。
接下来解释:
frps.ini中的bind_port = 7000与frpc.ini中的server_port = 7000一定要对应,这是可以理解为是服务器与本地联系的端口
vhost_http_port = 8080;8080是在广域网访问时域名或者ip后面接的端口;
# frpc.ini中的local_port = 80,80端口是在本机访问项目时需要在127.0.0.1或者localhost后面添加的那个端口
custom_domains = www.yourdomain.com这个是通过域名访问,上面的配置就需要www.yourdomain.com:8080这样访问,前提是你要先把域名解析到服务器ip上,如果不想通过域名访问只通过ip:端口号进行访问,只需要custom_domains 设置为服务器的ip;
我没有多余的域名,到处找怎么解决都没找到,然后能正常启动,访问就找不到文件。
后面看到服务端的提示就知道是域名不对但是删除了不能启动,然后试试服务器ip,然后就行了。
下面是我的配置以及端口;我是用tomcat在本地部署的环境默认端口8080
还有很多很好玩的内网穿透的东西,自行在github学习
Dashboard
通过浏览器查看 frp 的状态以及代理统计信息展示。