小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
前言
最近有公司业务需要对接企业微信相关的接口,需要用到本地调试,所以玩玩frpc搭建的内网穿透
准备
frp 相关包
从github仓库中下载适合自己环境的安装包
需要下载两个:
- frpc
- frps
域名
需要一个域名做穿透映射
云端服务器
配置
frps 配置
frps.ini 文件如下
[common]
bind_port = 7000
bind_addr = 0.0.0.0
privilege_token = frp
log_file = ./frps.log
vhost_http_port = 7090
#连接池
max_pool_count = 5
#token验证
token = frp
#自定义二级域名
subdomain_host = frp.iii.com
# trace, debug, info, warn, error
log_level = info
log_max_days = 3
# 控制台相关配置
dashboard_addr = 0.0.0.0
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admi
启动frps 服务端
./frps -c frps.ini
域名配置
需要在域名服务商配置一条映射关系
*.frp A 111.122.233.44(云端服务器ip)
云端服务器配置
安装配置nginx
server{
listen 80;
server_name *.frp.iii.com;
location / {
proxy_pass http://localhost:7090;
proxy_set_header Host $host;
}
}
然后启动nginx
frpc 配置
因为本文介绍是mac m1,所以下载的包是frp_0.37.0_darwin_arm64.tar.gz
解压之后文件如下
配置文件frpc.ini如下
[common]
#服务器IP
server_addr = 111.122.233.44
#服务器bind_port
server_port = 7000
#连接密钥
token = frp
#日志
log_file = ./frpc.log
log_level = info
log_max_days = 3
[api_dev]
type = http
local_ip = 127.0.0.1
local_port = 6677
# 子域名
subdomain = api
[web_dev]
type = http
local_ip = 192.168.0.102
local_port = 8081
# 子域名
subdomain = web
启动
./frpc -c frpc.ini
测试
此时访问 api.frp.iii.com 即可映射到 127.0.0.1:6677
此时访问 web.frp.iii.com 即可映射到 192.168.0.102:8081