前言
如果你有自己的云服务器,并且需要用到内网穿透,那么可以考虑使用FRP搭建自己的内网穿透服务。
常用的内网穿透工具有:cpolar、natapp、向日葵……
但是以上介绍的工具,如果使用免费版,都有诸多限制(毕竟要恰饭的嘛)。所以,干脆自己弄一个吧。
安装
我使用的版本是 V0.43.0,下面以 http 穿透举例。
- 下载
在Github的 Release 页面下载对应版本,下面是我下载的版本
服务器:frp_0.43.0_linux_amd64.tar.gz
本地win10:frp_0.43.0_windows_amd64.zip
-
服务器配置
解压,修改配置。因为服务器是作为服务端,所以修改的是 frps.ini 文件,下面放上开启http服务的配置
[common] # frp监听的端口,默认是7000,可以改成其他的 bind_port = 7000 # 授权码,请改成更复杂的 token = helloword # HTTP请求端口 vhost_http_port = 8080 # frp管理后台端口,请按自己需求更改 dashboard_port = 7500 # frp管理后台用户名和密码,请改成自己的 dashboard_user = root dashboard_pwd = root enable_prometheus = true # frp日志配置 log_file = /home/app/frp/frps.log log_level = info log_max_days = 3
修改完配置,然后执行以下命令启动服务端
nohup ./frps -c ./frps.ini &
- 本地电脑配置
同样的,在本地window上解压frp_0.43.0_windows_amd64.zip,修改配置文件 frpc.ini
# 客户端配置 [common] # 服务器ip server_addr = 1.1.1.1 server_port = 7000 # 授权码,和服务器的保持一致 token = helloword [web] type = http # 本地监听的端口,可随意 local_port = 8081 # 自己的域名,不需要带http,没有域名用ip也可以 custom_domains = www.javaedit.com
改好配置,执行以下命令启动客户端(以为是window,所以要在cmd中执行命令)
frpc.exe -c frpc.ini
- 使用
本地电脑启动一个服务,监听8081端口(我启动的是tomcat),确保浏览器中输入 localhost:8081 能正常访问。
此时访问 www.javaedit.com:8080 也能成功,对应配置就是(custom_domains:vhost_http_port)。
-
注意事项
- 注意区分 frps.ini 是服务器用的,frpc.ini 是客户端用的
- 确保服务器的防火墙没有拦截 frps.ini 中配置的vhost_http_port和bind_port端口,否则无法访问。
- 因为服务端 frps.ini 中vhost_http_port配置的是8080,所以外网访问链接是www.javaedit.com:8080