随后给路由器安装frp的应用,在有广域网IP的自己家的路由器上安装frps,在内网安装frpc。
frp的源码可以在 github 上获取,页面上有关于frp的介绍:
在服务器端设置,选择版本,服务器地址保持默认的 0.0.0.0 ,设置特权密码,用于客户端的连接,设置查询用户名和密码。
在客户端进行设置,选择与服务器对应的版本,填入服务器的域名或者IP,因为极路由自己有域名解析非常方便。添加自己设定的密码:
再加入配置文件,比如下面的内容将148和5两台主机的22端口做了分配:
运行客户端,查看运行状态:
以下通过ssh登陆到内网的树莓派上,这个板用安装了moodeaudio系统,可以看到相关的信息:
打开状态网页 http://xxxxxxxxxxxx.jios.org:7500/ ,也可以看到连接信息:
标签(空格分隔): 开发工具 前端
[toc]
前端开发,有时候需要给外网的测试人员浏览,此时若没有专门的测试服务器,那么使用内网穿透就是最简便通用的方式了。一个常见的选择就是 ngrok 。 也有 frp
ngrok官网
本地客户端跑起,搭建内网端口隧道给外网服务器,用户访问外网服务器对应地址,自动映射到本地对应地址。
这个方案很简单,也很慢,超慢,无法忍受的慢。
官网教程参看 https://github.com/inconshreveable/ngrok/blob/master/docs/SELFHOSTING.md
从零搭建参看, https://morongs.github.io/2016/12/28/dajian-ngrok/
已经写好的搭建脚本,参看 https://www.jianshu.com/p/b81bb6a3c0b9
如果脚本安装失败,可能是有些依赖没有,例如 apt-get
如果脚本失败,可能是依赖没装好,一般就是 go 没装,试下下面
安装 go
如果没有 apt-get yum,使用下面
按教程的做法是这样的
开启服务后,服务端报错 Failed to read message: remote error: bad certificate , 客户端端报错 x509: cannot validate certificate for xx.xx.xx.xx because it doesn't contain any IP SANs
搜索客户端报错,按 此文解决 ,在最后一句生成证书的命令前加上以下命令,就解决了
ngrok 客户端会自动生成一个随机子域名或者用户自定义一个,总之无论如何都会有一个域名,这就会导致 ip 域名无效, 例如 http://92832de0.1.1.1.1 ->localhost:80 , 解决办法就是改源码,去掉随机生成的 subdomain
删掉 %x. rand.Int31() , 以及该文件第一行引入的 math/rand ,重新编译出服务端与客户端即可。这样不加 -subdomain 选项就不会有子域名
FRP 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。说人话?就是让没有公网ip的你远程访问局域网内的各种服务,比如远程访问路由器后台、远程ssh、远程桌面等。 有公网ip的大佬就没必要继续往下看了 。
免费服务器不稳定,速度慢,且一般仅开放部分端口,请谨慎使用!但如果需求量不大,偶尔远程访问一下路由器,也是没问题的。以下是一些免费frp服务器网址:
自建frp服务器的速度,稳定性,可用端口完全取决于你的云服务器状况。这里推荐使用 clang 大大写的frp一键搭建脚本。
只谈一下最新0.20.0的FRP基本配置,基本有以下几种配置信息 加粗表示必填 :
[站外图片上传中...(image-891bdc-1614872632225)]
ssh的tcp穿透配置完成后Linux、Mac或XShell环境下运行以下命令即可远程路由器:
可能我测试的这个免费服务器问题,http穿透未测试成功,ssh的http穿透配置完成后终端ssh运行以下命令即可远程路由器:
额,经过测试ssh无法使用http穿透,测试过web服务器既可以使用http也可以使用tcp穿透方式的。下面例子使用免费服务器 frp3.chuantou.org , address 表示穿透成功后的访问地址。
如果http配置为80端口,https配置为443端口,那么你使用http或https方式穿透之后是不用增加端口号访问的。如果使用其他端口,请加上端口号访问。使用这两个端口搭建frp服务器会占用你vps的相应端口,不过可以支持多个子域名共用端口80或443,不必像tcp穿透那样一个穿透节点占用一个端口。
FRP请一定要注意服务端版本号,有些版本不互相兼容。而且随着版本的更新,配置也发生了一定的更改。所以请跟你不同的版本选择不同的服务端配置,目前大概有三个版本:
FRP服务启动失败,请检查FRP穿透节点配置中的子域名 http 和远程端口 tcp 配置,
极可能已经被和你使用同样免费服务器的人占用了,尝试多次更换这2个配置,并重启服务。
文中如果有错误的地方,欢迎评论与指正。如果你喜欢我写的文章,也可以点击下方的 打赏 支持一下,你的支持就是我更新的动力!谢谢大家
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)