frpc mac环境实现单个域名多个端口的内网穿透配置

1,487 阅读1分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

前言

最近有公司业务需要对接企业微信相关的接口,需要用到本地调试,所以玩玩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

解压之后文件如下

image.png

配置文件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