frp内网穿透及加速
2017/12/6大约 2 分钟约 541 字
前言
最近用平板搭建了一个小服务器,上面挂了,PT,芒果云文件管理,还打算跑个网页。服务器本地访问速度不错,但是内网穿透后在外网访问速度明显变慢了很多(服务器在米国)。虽然访问没有明显的丢包,只是访问慢,还是得想办法优化下。不然很难在远程传文件。 文件下载测试:
本地下载测试:20M 远程下载测试:2M
配置
数据流向
外网访问-> nginx -> frps -> frpc -> 内网服务器
虽然是自己用,但还是得保证数据在传输过程的加密。KodeExplorer的登陆密码是明文传输,这让人一点都不省心。 nginx 反向代理frps,绑定域名,使用https。在LetsEncrypt 申请个证书就行。 配置不难,多动手。
Nginx 配置 (XXXX为frp服务端的vhost_http_port)
此处省略。。。
location /status {
proxy_pass http://127.0.0.1:XXXX/;
proxy_set_header Host status.tablet;
}
location / {
proxy_pass http://127.0.0.1:XXXX/;
proxy_set_header Host dashboard.tablet;
}
location /cloud {
proxy_pass http://127.0.0.1:XXXX/;
proxy_set_header Host cloud.tablet;
}
}frp服务器配置(privilege_token用于服务端与客户端的认证)
[common]
bind_port = XXXX
kcp_bind_port = XXXX
privilege_token=XXXXXXXXXXXXXXXX
vhost_http_port = XXXXfrp客户端配置(server_addr是服务器ip, server_port对应frp服务器的bind_port) custom_domains对应 nginx的proxy_set_header 部分
[common]
server_addr = XXXX
server_port = XXXX
privilege_token=XXXXXXXXXXXXXX
[web]
type = http
local_port = 80
custom_domains = cloud.tablet加速
首先看下frp 的文档。里面提到frp支持kcp协议。赶紧试试。嗯,有不错的提升,看文本文件没问题了。
本地下载测试:20M 启用kcp协议下载测试:6M
但这还是不够,frp文档里提到frp支持http proxy,再加上个代理测试,速度很棒。
本地下载测试:20M frpc加上代理下载测试:20M
此时的数据流向 速度令人满意。OK结束折腾。
外网访问-> nginx -> frps -> ss -> kcptun server -> kcptun client -> ss-windows -> frpc -> 内网服务器