A: 公网电脑
B: 内网电脑
从[releases](Releases · fatedier/frp · GitHub)下载系统对应的压缩包,Mac可使用darwin amd64
的包,在公网电脑和本地电脑各放一份。
公网电脑上frps.ini
[common]
# 用于接收 frpc 连接的端口
bind_port = 7000
# 通过此端口访问http服务
vhost_http_port = 8080
# 日志文件输出位置
log_file = ./frps.log
# 日志等级
log_level = info
# 域名
subdomain_host = example.com
# frp管理后台端口
dashboard_port = 7500
# frp管理后台用户名
dashboard_user = admin
# frp管理后台密码
dashboard_pwd = admin
本地电脑上frpc.ini
[common]
# 公网电脑IP
server_addr = 111.111.111.111
# frp连接的端口
server_port = 7000
[web]
type = http
# 本地http服务端口
local_port = 8080
# 子域名前缀, 子域名前缀里不要使用下划线"_",不然可能会出现莫名其妙的400错误可以用"-"代替。
subdomain = iblogc
配置域名example.com
的A记录的泛解析
*.example.com
指向公网电脑IP111.111.111.111
8080
端口运行http
服务./
)./frps -c ./frps.ini
./
)./frpc -c ./frpc.ini
在任何一台能联网的机器上访问 http://iblogc.example.com:8080
即可访问内网电脑B上的http服务。
在任务一台能联网的机器上访问example.com:7500
即可访问frp的管理后台。
server {
listen 80;
server_name *.example.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_redirect http://$host/ http://$http_host/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
}
}