2022
我们一起努力

用frp开源工具实现内网穿透,在搬瓦工买服务器手机怎么上外网

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

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

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

客户端配置

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

用frp开源工具实现内网穿透,在搬瓦工买服务器手机怎么上外网

客户端启动成功

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

监控面板发现客户端

实用另一台电脑访问: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

赞(0)
文章名称:《用frp开源工具实现内网穿透,在搬瓦工买服务器手机怎么上外网》
文章链接:https://www.fzvps.com/52601.html
本站文章来源于互联网,如有侵权,请联系管理删除,本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
图片版权归属各自创作者所有,图片水印出于防止被无耻之徒盗取劳动成果的目的。

评论 抢沙发

评论前必须登录!