前言
今天在开发微信公众号开发的时候,因为调试总是要将代码上传到服务器部署运行,这样频繁的操作就很麻烦,所以就想着能不能直接连我本地的服务。然后就去了解了一下内网穿透
如果只是公众号和小程序的开发,你可以使用natapp、ngrok、花生壳之类的第三方工具。
服务端 安装与配置
创建配置文件
---创建配置文件
cd data
mkdir frp
touch /frp/frps.ini
vi /frp/frps.ini
---配置文件内容
[common]
bind_port = 8010 // 服务端监听端口接收 frpc 的连接
vhost_http_port = 8011 //为 HTTP 类型代理监听的端口
vhost_https_port = 8012 //为 HTTPS 类型代理监听的端口
dashboard_addr = 0.0.0.0
dashboard_port = 8013 //启用 Dashboard 监听的本地端口
dashboard_user = admin
dashboard_pwd = gxm1234920
镜像服务运行
---docker pull 镜像
docker pull snowdreamtech/frps
---运行容器
docker run --restart=always --network host -v /data/frp/frps.ini:/etc/frp/frps.ini -d --name frps
注释:--network host: host 网络模式,所有容器端口都对应属主机端口,不存在映射关系。
测试
其中:123.12.123.45 为你的服务器公网ip地址
访问:http://123.12.123.45 :8013 能出现如下内容则说明可以运行成功
nginx 配置
server {
listen 80;
server_name local2.*********.top;
location / {
proxy_pass http://172.17.0.1:8011/;
proxy_set_header Host $host;
proxy_set_header Remote_Addr $remote_addr;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
本地客服端运行
本地frpc下载配置
本地的话可以也用docker 容器的方式运行,我的是windows电脑,所以是直接在github上下载的编译好的包
docker pull snowdreamtech/frpc
---github地址
https://github.com/fatedier/frp/releases
本地下载后解压后你会看到如下的文件内容
修改客户端的配置文件frpc.ini
[common]
server_addr = 123.12.123.45 //服务端公网ip
server_port = 8010 // 连接服务端的端口
auto_token = gxm1234920
[web]
type = http
local_port = 3000 //本地项目运行端口
local_ip = 127.0.0.1
custom_domains = local2.*****.top
启动客户端
运行如下命令 当你看到proxy success 则说明运行成功了
frpc -c G:\frpc\frpc.ini
介绍
至此 你只需要在你本地运行你的项目,你可以正常连接后,在浏览器打开你配置的域名local2.*****.top,在经过一系列的dns、路由后,到了你的阿里云服务器,然后再被frp转给你的电脑上。