最近刚申请了E5的开发者账户,白嫖到了超大容量的onedrive。
但是速度是真的很奇特,好的时候能跑到20mb/s,慢的时候只有300kb/s。询问了大佬解决方案,发现他们反代了自己的SharePoint站点来获取加速。由此我也想这么做一下。
在网上找到了一篇类似文章反向代理 FODI 实现高速下载 OneDrive | NicoNicoNi.Cc。
跟着它写出来了初版配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| server { listen 80; server_name example.com; location / { proxy_pass https://yours-my.sharepoint.com; proxy_set_header Host guoncloud-my.sharepoint.com; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header Range $http_range; proxy_buffering on; proxy_buffer_size 4k; proxy_buffers 8 2M; proxy_busy_buffers_size 10M; proxy_max_temp_file_size 0; proxy_ssl_certificate /var/www/ssl/cert.pem; proxy_ssl_certificate_key /var/www/ssl/key.pem; add_header X-Cache $upstream_cache_status; add_header Cache-Control no-cache; expires 12h; }
|
修改了cloudreve的配置后初次实现了通过网站反代来加速下载文件。但是在edge上会报错不安全。遂决定使用tls。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| server { listen 80; listen 443 ssl http2; server_name xxx;
ssl_certificate /var/www/ssl/cert.pem; ssl_certificate_key /var/www/ssl/key.pem;
location / { proxy_pass https://xxx-my.sharepoint.com; proxy_set_header Host guoncloud-my.sharepoint.com; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header Range $http_range; proxy_buffering on; proxy_buffer_size 4k; proxy_buffers 8 2M; proxy_busy_buffers_size 10M; proxy_max_temp_file_size 0; add_header X-Cache $upstream_cache_status; add_header Cache-Control no-cache; expires 12h; }
|
重启nginx后edge访问还是报错未启用安全连接。经过测试关闭代理后证书是可以正常使用的。
后来在这篇文章反向代理 FODI 实现高速下载 OneDrive | NicoNicoNi.Cc中发现他多设置了几个参数
1 2 3 4 5
| ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m;
|
添加后成功使用。(虽然不知道怎么实现的)
经过几次测试,1Gbps共享带宽的vps的速度会缓慢加速到12M/s左右,速度很够用。