24
2020
02

安装与配置frp实现访问内网ERP系统教程

一、 frp实现内网穿透访问内网web应用的条件

要搭建自己的frp服务实现内网穿透并访问到内部的web应用,需要具备两个条件:

1. 要拥有一个具备固定公网IP服务器,比如阿里云ECS服务器;

2.还要有一个可以自定义解析的域名,可以是顶级域名如daweibro.com,也可以是二级、三级域名,比如ERP.daweibro.com,只要自己能够指定解析地址就可以。,在原有的基础上增加一个erp的子域名A记录,需等一段时间(几分钟到几个小时甚至一两天不定)让域名解析生效。

如果不具备上面的条件,那就没办法自己实现了,可以在网上寻找付费的frp服务,或者直接购买花生壳硬件盒子,花费不多还省事。

如果这两个都有了,就可以下载安装配置了。

二、下载frp程序

frp的项目网址在https://github.com/fatedier/frp,可以使用git直接pull,也可以直接到https://github.com/fatedier/frp/releases页面找到相应的版本下载。现在最新的版本号是0.23.1,大伟哥的公网服务器和内网服务器使用的都是64位Ubuntu Server,因些下载64位linux系统适用的版本到当前目录就可以了。frp本身集成了服务器端和客户端,因此服务器端和客户机分别下载同一个压缩文件就可以了:

wget -c https://github.com/fatedier/frp/releases/download/v0.23.1/frp_0.23.1_linux_amd64.tar.gz

解压缩到当前目录:

tar cxvf frp_0.23.1_linux_amd64.tar.gz

三、在公网服务器上配置和运行frp服务端

1. 服务器端的配置文件是frps.ini,大伟哥使用了最简的配置如下:

[common]bind_port = 7000vhost_http_port = 8080

以上配置设定使用8080端口提供http服务。

2. 运行frp服务端的命令是frps,后面需要指定配置文件:

#进入frp目录、指定配置文件并运行frp服务: daweibro@aliyun-server:~$ cd frp_0.23.0_linux_amd64/daweibro@aliyun-server:~/frp_0.23.0_linux_amd64$ ./frps -c ./frps.ini2019/01/22 13:25:03 [I] [service.go:130] frps tcp listen on 0.0.0.0:70002019/01/22 13:25:03 [I] [service.go:172] http service listen on 0.0.0.0:80802019/01/22 13:25:03 [I] [root.go:210] Start frps success

以上说明frps服务成功启动了。

四、在内网服务器上配置和运行frp客户端:

1. 相应地,frp客户端的配置文件是frpc.ini,需要指定以下的内容:外网服务器的IP地址和端口,内网ERP服务的类型和端口。在这个例子里,大伟哥的外网IP地址是121.41.23.39,内网使用的OpenERP(现在叫ODOO)提供web服务的端口号是8069,域名是erp.daiweobro.com, 因些编辑配置文件如下:

[common]server_addr = 121.41.23.39server_port = 7000 [web]type = httplocal_port = 8069custom_domains = erp.daweibro.com

2. 进入目录,启动客户端服务frpc:

daweibro@OpenERP-Server:~$ cd frp_0.23.0_linux_amd64/daweibro@OpenERP-Server:~/frp_0.23.0_linux_amd64$ ./frpc -c ./frpc.ini2019/01/22 14:24:47 [I] [service.go:205] login to server success, get run id [02875c84cccc2084], server udp port [0]2019/01/22 14:24:47 [I] [proxy_manager.go:136] [02875c84cccc2084] proxy added: [web]2019/01/22 14:24:47 [I] [control.go:143] [web] start proxy success

五、实现外网访问内网ERP服务

frp的服务端和客户端都跑起来以后,我们就可以在外网通过自定义的域名访问处于内网的ERP系统了。

按照前面的配置文件运行起来的内网穿透+反向代理服务,要访问ERP系统只需要在外网通过任何网络浏览器访问网址http://erp.daweibro.com:8080,就能随时随地处理业务。有个三五分钟的时间,就可以随手做个报价单,记个费用帐了。做个高效的商务人士,美滋滋!

六、后台运行frp服务及设置开机自启动

上面的frp服务不管是服务器端还是客户端都是直接运行在命令行前端的,建立连接的信息会占用这个命令行窗口并一直动态输出运行信息。一旦关掉命令行,frp服务就会结束,我们就没法访问内网了。因此我们需要让frp服务运行在后端,不会因为命令行的退出而断服务。再进一步,我们还要设置frp服务在服务器重启后自动启动,省去我们自己手动启动的麻烦事。

1.使用nohup结合&让frp服务在后台持续运行,可以让frp服务一直保持,不受命令行退出的影响。

在外网服务上frp的目录内使用以下命令:

daweibro@aliyun-server:~/frp_0.23.0_linux_amd64$ nohup ./frps -c frps.ini &[1] 6671daweibro@aliyun-server:~/frp_0.23.0_linux_amd64$ nohup: ignoring input and appending output to 'nohup.out'

以上说明frp开始在后台运行,命令行上会忽略输入信号,并把输出信息写在nohup.out文件里。

同样在,我们在内网服务器上使用以下命令在后台运行frp客户端:

nohup ./frpc -c ./frpc.ini &

2.设置frp开机启动

设置frp开机自启动在不同的操作系统版本下可以有多种不同的方式。大伟哥在Ubuntu Server下采用了最简单的一种方式,就是把前面后面运行的这两条命令分别复制,插入到了/etc/rc.local文件的exit()语句前面。并且把原来的相对路径改成绝对路径就可以了。类似于下面这个样子:

#!/bin/sh -e## rc.local## This script is executed at the end of each multiuser runlevel.# Make sure that the script will "exit 0" on success or any other# value on error.## In order to enable or disable this script just change the execution# bits.## By default this script does nothing. nohup /home/daweibro/frp_0.23.0_linux_amd64/frps -c /home/daweibro/frp_0.23.0_linux_amd64/frps.ini & exit 0


版权说明:本博客对所有原创、转载、分享的内容、陈述、观点判断均保持中立,推送文章仅供读者参考,发布的文章、图片等版权归作者享有。部分转载作品、图片如有作者来源标记有误或涉及侵权,请原创作者友情提醒并联系小编删除。

上一篇:西部数码域名业务API文档 V2.0 2019.5.6 (最新域名全业务接口文档,涵盖所有域名管理功能)

下一篇:物业服务意识与沟通技巧

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

快捷导航返回顶部
润凌网络
联系电话
返回顶部