单个端口的配置 以及开启的方式 在github的官方文档里面有 请自行查看
官方文档 https://github.com/fatedier/frp 如果不想麻烦可以使用natapp实现简单的内网穿透 (后期收费)
下面是多个端口的配置
(必需)
- 有ip的服务器 (云服务器 => 阿里云 腾讯云等)
- 能访问到ip的域名
- 配置nginx服务 基本配置 docker 都可以
- frp基本配置 (看上面的官方文档)
- frps和frpc的版本一定要相同版本 官方没有做版本兼容 所以版本不同可能出现配置无效的可能
nginx配置
ngxin
server {
listen 80;
server_name app1.* app2.* app3.* ;#自己修改
location / {
client_max_body_size 1000m;
#frps端口8080(服务器) 这里的端口配置要仔细看
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
}
}
frps配置 (server)
[common]
bind_addr = 0.0.0.0
bind_port = 7000
vhost_http_port = 8080
auth_token = openittoken
subdomain_host = testapp.com
[app1]type = http
auth_token = openittoken
subdomain = app1
[app2]type = http
auth_token = openittoken
subdomain = app2
[app3]type = http
auth_token = openittoken
subdomain = app3
frpc 配置 (client)
[common]
server_addr = *.23.72.* #换成自己的
server_port = 7000
auth_token =openittoken
[app1]type = http
local_port = 8081
[app2]type = http
local_port = 8082
[app3]type = http
local_port = 8083
对应的效果 (仔细看)
app1.testapp.com => client:8081
app2.testapp.com => client:8082
app3.testapp.com => client:8083
(服务端启动) 上面需要的服务器的配置
./frps -c frps.ini #开启frp服务器
(客户端启动) 需要内网穿透的设备
./frpc -c frpc.ini # 连接frp服务器配置
nginx 的启动
nginx -c nginx.conf #(修改nginx.conf) 或者自定义nginx配置 指定nginx配置文件使用
顺便说一下关闭这个服务的方法
ps -e |grep frps
kill (pid) // 查找到的pid