前言
前面介绍的加速方式要么是 CDN 仅供加速 网站的 80 端口或者 443 端口,无法加速通信协议,而 通过优化网卡实现的 TCP、UDP 加速。这次来个更劲爆的,通过中转来实现加速。
思路
中国到美国,需要通过太平洋海底光缆,但是中间有日本、韩国可以做中转。
阿里云 北京 ECS ——> Linode JP VPS ——> 阿里云 硅谷 ECS / 美国访问设备
阿里云 深圳 ECS ——> 阿里云 新加坡 ECS ——> 阿里云 德国 ECS / 欧洲访问设备
思路大致如此,例如,阿里云的新加坡数据中心接收和传输数据到深圳数据中心和欧洲都很方便,快于阿里云深圳数据中心直接接收和传输数据到欧洲。这样就可以有效缓解高延时和高丢包的压力,且不受限与 HTTPS 、HTTPS 的通信限制。
注:使用此法,如果客户是欧洲访客,那么只需要购买 新加坡 的ECS一台做中转即可,无需购买第三台欧洲的设备。
内容
这里以我们常见的 Science Surfing 工具 SXXXXXXks 为例,在阿里云硅谷的 ECS 已经做好了服务端,然后我们购置了一台 Linode 的 JP VPS 来做中转。中转软件则借助 haproxy ,因为 SXXXXXXks 支持这种中转方式。
Centos 安装 haproxy
一、更新系统
yum update -y
二、安装 haproxy
yum install haproxy
Debian 安装 haproxy
一、更新安装源,以 debian 7 为例
deb http://mirrors.aliyuncs.com/debian/ wheezy-backports main
二、更新缓存
apt-get update
三、安装
apt-get install haproxy
配置
一、修改 /etc/haproxy/haproxy.cfg
二、清空文件内原来的内容
三、加入以下内容
global ulimit-n 51200 defaults log global mode tcp option dontlognull timeout connect 1000ms timeout client 150000ms timeout server 150000ms frontend 协议端口号-in bind *:协议端口号 default_backend 协议端口号-out backend 协议端口号-out server server1 被中转服务器的IP maxconn 20480
例如,我的被中转服务器IP是:50.50.50.50,协议端口是 8888
global ulimit-n 51200 defaults log global mode tcp option dontlognull timeout connect 1000ms timeout client 150000ms timeout server 150000ms frontend 8888-in bind *:8888 default_backend 8888-out backend 8888-out server server1 50.50.50.50 maxconn 20480
使用
使用中转服务器的 IP 代替 被中转服务器的 IP,的确速度飞快,不过你检测出来的 IP 还会是被中转服务器的 IP,不要疑惑。
申明
本教程仅提供了思路和简单的解决办法,希望大家只是用于公司业务拓展,切莫用于一些非法的途径。
其他中转的方法、软件还有很多,大家可以通过这个思路自行摸索。