导航

frp内网穿透协助内网程序(如微信相关)开发

Posted on 2020-02-21 21:46  iitrust  阅读(484)  评论(0编辑  收藏  举报

众所周知,在本机上开发微信相关的程序,很不方便,因为拨号IP随机,而且很多端口不支持,如80,443

所以,有必要使用一台外网主机中转。

frp就可以解决此问题

安装环境,外网服务器:腾讯云,centos 7.6 64

wget https://github.com/fatedier/frp/releases/download/v0.31.2/frp_0.31.2_linux_amd64.tar.gz

解压后,只要frps 和frps.ini

frps配置示例,我用https

[common]
bind_port = 7000
vhost_http_port = 80
vhost_https_port = 443

[web]
type = http
custom_domains = wx.abc.cn
auth_token = 123456

运行吧(如有防火墙,请放行上面的7000端口,阿里和腾讯云的防火墙在他们的后台安全组里管理)

./frps -c ./frps.ini

接下来客户端

在httd服务器如apache,nginx里配置好,并绑定上面的wx.abc.com

windows客户端下载

https://github.com/fatedier/frp/releases/download/v0.31.2/frp_0.31.2_windows_amd64.zip

同理只要里面的frpc.exe 和,frpc.ini

[common]
server_addr = 外网IP
server_port = 7000
auth_token =123456

[web]
type = https
local_port = 443
custom_domains = wx.abc.cn

命令行运行

frpc.exe -c frpc.ini

done!

 

接下来搞定服务器开机启动

# 需要先 cd 到 frp 解压目录.
 
# 复制文件
cp frps /usr/local/bin/frps
mkdir /etc/frp
cp frps.ini /etc/frp/frps.ini
 
# 编写 frp service 文件,以 ubuntu 为例
vim /usr/lib/systemd/system/frps.service (有时候需要手动创建system文件夹)
# 内容如下
[Unit]
Description=frps
After=network.target
 
[Service]
TimeoutStartSec=30
ExecStart=/usr/local/bin/frps -c /etc/frp/frps.ini
ExecStop=/bin/kill $MAINPID
 
[Install]
WantedBy=multi-user.target
 
# 启动 frp 并设置开机启动
systemctl enable frps
systemctl start frps
systemctl status frps
 
# 部分服务器上,可能需要加 .service 后缀来操作,即:
systemctl enable frps.service
systemctl start frps.service
systemctl status frps.service

客户端windows开机启动,简单,就不写了,下面是客户端linux的例子

# 需要先 cd frp 解压目录.
 
# 复制文件
cp frpc /usr/local/bin/frpc
mkdir /etc/frp
cp frpc.ini /etc/frp/frpc.ini
 
# 编写 frp service 文件,以 centos7 为例,适用于 debian
vim /usr/lib/systemd/system/frpc.service
# 内容如下
[Unit]
Description=frpc
After=network.target
 
[Service]
TimeoutStartSec=30
ExecStart=/usr/local/bin/frpc -c /etc/frp/frpc.ini
ExecStop=/bin/kill $MAINPID
 
[Install]
WantedBy=multi-user.target
 
# 启动 frp 并设置开机启动
systemctl enable frpc
systemctl start frpc
systemctl status frpc
 
# 部分服务器上,可以需要加 .service 后缀来操作,即:
systemctl enable frpc.service
systemctl start frpc.service
systemctl status frpc.service

 

参考:https://www.jianshu.com/p/93bf511ea72e

https://blog.csdn.net/shahuhu000/article/details/82599140