windows(Linux)创建”内网穿透“工具(通过自定义域名访问部署于内网的 web 服务,可以用于调试微信支付,支付宝支付,微信公众号等开发项目)
此方法需要自有服务器和域名,如果没有这些的开发者,
可以参考钉钉提供的内网穿透方式:https://www.cnblogs.com/pxblog/p/13862376.html
一、准备工作
1、域名
2、公网服务器
3、frp(下载地址:https://github.com/fatedier/frp/releases/tag/v0.29.0,选择对应的版本进行下载,这是我们使用windows的版本进行安装,
github下载很慢,所以我也在蓝奏云放了一份,windows版本:https://lanzous.com/ibplg5i
linux版本的 https://yvioo.lanzous.com/ickpm7g
二、进行解压
解压完成后,在本地和公网服务器(这里使用的是windows服务器)都拷贝一份
三、部署服务器端
打开公网服务器解压后的frp文件夹
1、修改 frps.ini 文件,设置 http 访问端口为 8000(端口可以自己设置) 。
# frps.ini [common]
#运行端口,无需更改 bind_port = 7000
#该端口为外网地址访问内网项目时,使用的端口,如果不需要端口,可以写80 vhost_http_port = 8000
2、启动 服务器端
在frps.exe 所在的文件夹中,打开命令窗口,运行
frps.exe -c frps.ini
运行完之后出现以下内容,说明安装成功
2019/10/04 17:52:44 [I] [service.go:139] frps tcp listen on 0.0.0.0:7000 2019/10/04 17:52:44 [I] [service.go:181] http service listen on 0.0.0.0:8000 2019/10/04 17:52:44 [I] [root.go:205] Start frps success
四、部署客户端
1、修改 frpc.ini 文件,将源文件的内容替换成以下内容
# frpc.ini [common]
#公网服务器ip地址 server_addr = 139.67.185.199
#运行端口,无需修改 server_port = 7000 [web] #域名协议,这是使用的是http type = http #本地运行的项目服务端口,如果是tomcat默认是8080 local_port = 8080 #公网服务器域名 custom_domains = www.yourdomain.com
2、启动客户端,在frpc.exe所在的文件夹,运行命令
frpc.exe -c frpc.ini
运行完成之后出现以下内容,说明启动成功
2019/10/04 20:06:49 [I] [service.go:234] login to server success, get run id [ac6ac92d8d2242fa], server udp port [0] 2019/10/04 20:06:49 [I] [proxy_manager.go:144] [ac6ac92d8d2242fa] proxy added: [ssh] 2019/10/04 20:06:49 [I] [control.go:153] [ssh] start proxy success
这时候通过服务器域名加端口执行访问本地项目,这里的示例是:
http://www.yourdomain.com:8000
注:以上使用域名需要已经映射到服务器的ip地址。
如果是linux系统的话,使用Linux的frp压缩包,内容是一样的,不过执行命令不一样,在压缩包文件夹下执行命令
nohup ./frps -c frps.ini &
nohup 和 & 是后台运行的操作,如果不需要后台运行,也可以不需要这两个命令
-----------------------有任何问题可以在评论区评论,也可以私信我,我看到的话会进行回复,欢迎大家指教------------------------
(蓝奏云官网有些地址失效了,需要把请求地址lanzous改成lanzoux才可以)