在进行微信公众号的网页开发过程中,发现微信公众号配置支持http及https的80及443端口,调用时只能使用域名调用,无法在本地环境测试。只能在拥有公网IP的服务器上调试,十分不便,在搜索过后,据说frp工具可以实现反向代理且性能更好,特此记录本次部署过程
VPS
首先得有一个公网IP的服务器,不管是VPS,还是云服务器,都会分配一个公网可以访问的IP地址给你,连接到服务器后,安装上Linux系统,一般均为CentOS 7.0
域名
可以在阿里或者其他的域名提供商那里购买一个域名,并将域名和云服务地址的IP相关联,百度有很多操作步骤,不再赘述
安装frp
使用root权限安装frp服务端
1 | 1. 如果没有wget命令,先安装wget。查看是否安装wget:rpm -qa|grep "wget" 安装命令:yum -y install wget |
端口配置
Linux终端中需要输一些参数,全部参数都有默认值,直接回车就是输入默认值:
Please input frps bind_port 1-65535: #输入frp提供服务的端口,用于服务器端和客户端通信,默认即可
Please input frps vhost_http_port 1-65535: #输入frp进行http穿透的http服务端口,建议不用默认
Please input frps vhost_https_port 1-65535: #输入frp进行https穿透的https服务端口,建议不用默认
Please input frps dashboard_port 1-65535:#输入frp的控制台服务端口,用于查看frp工作状态,默认即可
Please input dashboard_user (Default: admin):#登录控制台的用户名,默认即可
Please input dashboard_pwd (Default: kpkpM7VZ):#登录控制台的密码,如果记不住默认的建议修改
Please input privilege_token (Default: 9m2UAOWa6hx5Eise):#输入frp服务器和客户端通信的密码,默认是随机生成的,默认即可
Please input frps max_pool_count 1-200:#设置每个代理可以创建的连接池上限,默认50
访问管理页面
地址:域名:6443。或者公网IP:6443都可以
修改frp服务端的配置
如果之后有哪些端口需要修改,可以在/usr/local/frps/frps.ini这个配置文件中修改
服务端配置
1 | #bind_addr为本机IP |
客户端配置frpc.ini
1 | [common] |
自定义二级域名
在多人同时使用一个 frps 时,通过自定义二级域名的方式来使用会更加方便
通过在 frps 的配置文件中配置 subdomain_host,就可以启用该特性。
之后在 frpc 的 http、https 类型的代理中可以不配置 custom_domains,而是配置一个 subdomain 参数
只需要将 *.{subdomain_host} 解析到 frps 所在服务器。之后用户可以通过 subdomain 自行指定自己的 web 服务所需要使用的二级域名,通过 {subdomain}.{subdomain_host} 来访问自己的 web 服务
1 | 假如域名为:abc.com |
frp开源地址
https://github.com/fatedier/frp