时间:2018年03月15日 | 作者 : liuhui | 分类 : FRP教程 | 浏览: 9031次 | 评论 0 人
阿里云限量代金券 | 此广告位出租25元/月 |
由于frp的http和https,都是从用户的穿透服务中完整输出数据的,这对于一些使用frp的用户,网络比较差/上传低,打开自己的这些服务,要加载大半天的。
我们可以使用nginx的反代缓存,把frp用户的http和https中的静态资源缓存到服务器本地,从而减少frp用户本身的网络资源请求访问,直接略过大部分,从而在服务器加速。
效果是拔群的!
需要在frps服务端的服务器上安装使用nginx
注意:仅适用http https 协议,网站
SSH
新建缓存目录
mkdir -pv /home/nginx/cache
赋予权限
chmod -R 777 /home/nginx/cache
在nginx.conf中http{}里添加以下参数
proxy_cache_path /home/nginx/cache levels=1:2 keys_zone=frp_cache:50m max_size=5g inactive=3d;
server
{
listen 80;
server_name your.diannaobos.com;
resolver 223.5.5.5 208.67.222.222 8.8.8.8 valid=300s;
resolver_timeout 10s;
add_header X-Cache $upstream_cache_status;
#ERROR-PAGE-START 错误页配置,可以注释、删除或修改
proxy_intercept_errors on;
error_page 404 https://www.nat.ee/error_page/404.html;
#ERROR-PAGE-END
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;
proxy_hide_header X-Powered-By;
proxy_ignore_headers Cache-Control;
proxy_hide_header Cache-Control;
proxy_ignore_headers Set-Cookie;
proxy_hide_header Set-Cookie;
limit_conn perip 5;
limit_rate 128k;
}
location ~ .*\.(jpg|jpeg|gif|png|svg|css|scss|js|ico|xml|woff|woff2|ttf|otf|eot)$ {
resolver 127.0.0.1;
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;
proxy_cache frp_cache;
proxy_cache_use_stale updating;
proxy_cache_key $uri$is_args$args;
proxy_cache_valid 200 206 301 302 304 3d;
proxy_cache_lock on;
proxy_cache_lock_timeout 5s;
proxy_cache_use_stale updating error timeout invalid_header http_500 http_502;
proxy_http_version 1.1;
proxy_ignore_headers Cache-Control;
proxy_hide_header Cache-Control;
proxy_ignore_headers Set-Cookie;
proxy_hide_header Set-Cookie;
expires 3d;
limit_conn perip 6;
limit_rate 128k;
}
}
(jpg|jpeg|gif|png|svg|css|scss|js|ico|xml|woff|woff2|ttf|otf|eot)为需要进行缓存的静态资源,你可以添加或者修改。
proxy_cache_valid为服务器缓存,其中200 206 301 302 304为HTTP状态码(http://tool.chinaz.com/pagestatus/)针对状态码缓存,而最后面的 3d 为缓存过期时间,当用户没有在这个有效时间内访问到这个资源,则会过期清除,直到用户重新访问到这个资源则重新缓存。
expires 为访问用户本地缓存
d 天数 h 小时 m 分钟 s 秒
http://127.0.0.1:8080;的8080端口为你frps.ini服务端配置文件vhost_http_port = 8080端口
server_name your.diannaobos.com; 这里填写对应域名。
也支持泛解析,例如:server_name *.diannaobos.com;需要域名已经泛解析才行。
配置成功后,并且访问目标网站,让其进行缓存,在/home/nginx/cache目录里会生成多个缓存目录和文件。
至于,手动清除缓存方法。
到/home/nginx/cache文件夹删除所有缓存文件。
或者给你的nginx重新编译,添加ngx_cache_purge模块
官方网站:http://labs.frickle.com/nginx_ngx_cache_purge/
github:https://github.com/FRiCKLE/ngx_cache_purge/
参数:
location ~ /purge(/.*) {
allow all;
proxy_cache_purge frp_cache $uri$is_args$args;
}
具体用法和编译教程,自己网上搜索。
推荐您阅读更多有关于“”的文章
Powered By Z-Blogphp
分享:
支付宝
微信