众所周知,在本机上开发微信相关的程序,很不方便,因为拨号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