怎样调试frp,frp配置详细教程

首页 > 农林牧渔 > 作者:YD1662024-01-02 02:24:03

在实际开发的过程中,我们经常需要调用一些第三方的API。同步回调的接口还比较省心,一旦遇到异步回调的接口,例如,支付宝付款的异步回调、微信支付的异步回调、微信登陆、七牛云的一些持续化媒体处理。在进行这些API的对接时,反复上传测试服务器搞得我不厌其烦。

问题来了,有没有一种简介的方式能让我们在本地就收到回调信息,进行开发呢?!今天我们要介绍的开发利器FRP 就是这样的一款工具。

怎样调试frp,frp配置详细教程(1)

frp github 项目主页

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。frp 仍然处于开发阶段,未经充分测试与验证,不推荐用于生产环境。

FRP配置准备

1、固定IP服务器一台(本例:搬瓦工CentOS7 VPS服务器 IP:27.132.191.34)

2、域名一个(本例:www.test.com)

3、本地开发环境(本例:macOS MOjave 10.11.6 Appche php mysql)

服务器配置

1、解析域名到服务器: www.test.com 记录值 27.132.191.34

2、下载与服务器兼容的FRP 下载地址:https://github.com/fatedier/frp/releases/

sudo uname -n -r -p -o #服务器的CPU构架 # 我这里是 3.10.0-1062.1.2.el7.x86_64 x86_64 GNU/Linux # 所以下载对应的 frp_0.31.1_linux_amd64.tar.gz 版本 # 大家可以分局自己的服务器下载对应版本 wget https://github.com/fatedier/frp/releases/download/v0.31.1/frp_0.31.1_linux_amd64.tar.gz tar -zxvf frp_0.31.1_linux_amd64.tar.gz #解压文件 mv frp_0.31.1_linux_amd64 frp #名字改短一点 cd frp chmod x frps #给运行权限

3、编辑配置文件

vim frps.ini

[common] bind_port = 7000 #与客户端通信的端口 dashboard_port = 7500 #控制面板端口 dashboard_user = admin #控制面板用户名 dashboard_pwd = admin #控制面板密码 vhost_http_port = 6081 #http 访问端口

4、启动服务

./frps -c ./frps.ini #这是前台启动 nohup ./frps -c ./frps.ini & #这是后台启动

打开 http:/27.132.191.34:7500 就可以看到监控面板了

怎样调试frp,frp配置详细教程(2)

FRP 控制面板

客户端配置

1、下载对应客户端程序 注:版本一定要与服务器一直

怎样调试frp,frp配置详细教程(3)

macOS windows 对应的FRP版本

2、解压下载的客户端文件,修改配置文件

[common] server_addr = 27.132.191.34 #服务器地址 server_port = 7000 #通讯端口 与frps.ini 下 bind_port 相同 [web] type = http local_port = 80 #本地web服务器端口 custom_domains = www.test.com #保证本地可以访问

3、启动客户端

./frpc -c ./frpc.ini

怎样调试frp,frp配置详细教程(4)

客户端启动成功

访问:http://www.test.com:7500/static/#/proxies/http

怎样调试frp,frp配置详细教程(5)

监控面板发现客户端

实用另一台电脑访问:http://www.test.com:6081 就可以开到测试页面了,这样本地的开发环境就可以收到外网服务器的回调信息了。

关于80端口

大家可能已经注意到了,我们的访问域名http://www.test.com:6081 后面带着一个端口号显得很别扭

同时很多平台是不支持带着端口号回调的。首先我们检查一下服务器上的80端口是否被占用(一般都会占用的!!)

lsof -i 80 #如果80端口没有被占用那么我们可以修改 #frps.ini #设置 vhost_http_port=80 即可 vhost_http_port = 80 #http 访问端口

如果你的的服务器上80端口已经被Ngnix占用,那么可以在Ngnix中设置反向代理来解决

vhost 配置如下:

server { listen 80; #listen [::]:80; server_name www.test.com ; index index.html index.htm index.php default.html default.htm default.php; root /home/wwwroot/local.weippstore.com; include rewrite/none.conf; #error_page 404 /404.html; # Deny access to PHP files in specific directory #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; } include enable-php.conf; location / { proxy_pass http://www.test.com:6081; } location ~ /\. { deny all; } access_log off; } 关于开机自动启动(CentOS7 其他版本可以自行百度)

sudo vim /lib/systemd/system/frps.service #在frps.service里写入以下内容 [Unit] Description=fraps service After=network.target syslog.target Wants=network.target [Service] Type=simple #启动服务的命令(根据自己的安装位置填写) ExecStart=/home/frps -c /home/frps.ini [Install] WantedBy=multi-user.target sudo systemctl restart frps

启动命令 sudo systemctl restart frps

停止命令 sudo systemctl stop frps

设置开机自启 systemctl enable frps

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.