您的位置 首页 php

如何优雅的调试异步回调接口-初窥内网穿透利器FRP

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

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

frp github 项目主页

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 下载地址:

 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 
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 控制面板

客户端配置

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

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  

客户端启动成功

访问:#/proxies/http

监控面板发现客户端

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

关于 80端口

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

同时很多平台是不支持带着端口号回调的。首先我们检查一下服务器上的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 
        }
        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

文章来源:智云一二三科技

文章标题:如何优雅的调试异步回调接口-初窥内网穿透利器FRP

文章地址:https://www.zhihuclub.com/153011.shtml

关于作者: 智云科技

热门文章

网站地图