序
今天周五,写代码写的有点腻了,于是想到测试环境外网映射,浏览了下说到的又花生壳/ngrok等。突然记起之前公司用到一个frp,虽然是运维搞的额,但是今天想就自己也搞搞。毕竟不是所有公司都又运维。(这个文章很早就写了,csdn不给发,今天迁移到掘金)
一、环境
我这边现在的环境:
阿里云云服务器一台 (windows server2012)
内网测试服务器一台(CentOS7.6)
准备使用阿里云的一个二级域名
二、frp软件下载
下载地址:
编辑
这里自行下载系统对应的版本。这里目前最新版本0.27.0.我分别下载windows的和linux的。注意最好都是同等位数的版本,比如都是64位的。
三、外网服务器配置
外网因为是windows的,所以相对简单点。但是也遇到一个坑问题就是frps.exe不能后台运行。
其他网友说的要删除frpc\frpc.ini文件,我这里是没有删除的,实际上只要不同时运行应该没问题。
frps.ini配置文件:
[common]
bind_port = 7000 #与客户端绑定的进行通信的端口
vhost_http_port = 8069 #访问客户端web服务自定义的端口号
这个今天先把ssh调通,有的还说加上
dashboard_port = 8070
dashboard_user = admin
dashboard_pwd = admin
可以通过ip:8070访问管理页面,实际上这个我也没有成功。因为是公司的服务器,现在也没有这个需求,所以准备后期自己搞个服务器玩。
让后只能通过cmd进黑框框,到这个目录执行frps.exe,如图:
编辑
出现frps success就是代表服务启动成功了。
四、客户端配置
客户端时linux的,把文件使用xFtp拖到我的测试目录后解压
tar -zxvf frp_0.27.0_linux_amd64.tar.gz,解压后目录里的文件与外网服务器上的文件基本一样,除了后缀名,哈哈。
编辑
客户端的配置文件就应该时frpc.ini,配置内容:
[common]
server_addr = xx.xx.xx.xx #外网服务器ip
server_port = 7000 #这个端口与外网服务器端口一致
[ssh]
type = tcp
local_ip = 127.0.0.1 #
local_port = 22 #这个端口在云服务器上时没有配置出规则的,所以后面通过这个端口也不能连上
remote_port = 6000 #这个路由端口,注意这个端口在云服务器的安全规则上一定出规则/入规则都要配置
[web]
type = http
local_port = 8081 #这个就是你内网服务器上项目的用的端口
custom_domains = xxx.xx.com #所绑定的公网服务器域名,一级、二级域名都可以
保存配置文件,linux编辑配置文件用vi或vim,这是基本的,就不多说,要是不会,就把文件托到本地,改完了再托上去覆盖。
然后,这里执行后台运行,也是进这个目录后执行
nohup ./frpc -c ./frpc.ini &
重新回到[root @xx]#状态就表示执行成功
编辑
如果是回到[root @xx]#状态出现的nohup:ignoring xxx不要紧张,这是正常的,还是可以通过tail -f nohup.out查看执行内容的。
但是如果不是回到[root @xx]#状态出现的,那就是没有执行成功。
五、验证ssh连接
编辑
箭头所指就是server_addr配置的外网ip。注意端口号,连接,注意输入的用户/密码是内网服务器的账号密码,看效果
编辑
好了,今天就先说到这,下次讲设置最大连接数与访问内网项目吧。因为现在我也还没有试验到那一步,哈哈。