跳转到主要内容
首页

用户帐户菜单

  • 登录

主导航

  • 首页
  • 小公司运营
  • 网站建设
  • 创业杂谈
  • 兼职赚钱
  • 小微企业信息化
  • 手册教程
    • 《大伟哥的Drupal 8建站指南》
    • 《通过JohnChow.Com在网上赚钱》
  • 关于

面包屑

  • 首页
  • 安装与配置frp实现访问内网ERP系统傻瓜教程

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

By 大伟哥 | 2019-01-13,周日, 21:17

上次大伟哥交待了对于从外网访问隐藏在公司内网的ERP系统的需求,分享了找到frp这个开源免费又好用的反向代理+内网穿透工具的过程,罗哩罗嗦一大篇没说到怎么安装和使用上,今天另开一篇,直接写安装与配置的方法,供需要的朋友参考。

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

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

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

2.还要有一个可以自定义解析的域名,可以是顶级域名如daweibro.com,也可以是二级、三级域名,比如erp.daweibro.com,只要自己能够指定解析地址就可以。IP地址解析可以参照大伟哥之前写的这篇:解析域名到自己的VPS/云服务器,在原有的基础上增加一个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 = 7000
vhost_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.ini
2019/01/22 13:25:03 [I] [service.go:130] frps tcp listen on 0.0.0.0:7000
2019/01/22 13:25:03 [I] [service.go:172] http service listen on 0.0.0.0:8080
2019/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.39
server_port = 7000

[web]
type = http
local_port = 8069
custom_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.ini
2019/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] 6671
daweibro@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
  • 706 阅读
ERP

添加新评论

此字段内容将保密,不会被其他人看见。
关于文本格式
  • 不允许使用HTML标签。
CAPTCHA
5 + 15 =
计算出这道简单的算术题并键入答案。例如、1+3,就输入 4。
发布评论前,请通过下面的验证,以免被当作垃圾评论机器人屏蔽。

搜索

沪ICP备17000093号-1

公安备案沪公网安备 31011402008254号

© 2016-2022 大伟哥博客版权所有