Cloudflare RailGun快速安装教程 宝塔CENTOS/DEBIAN/UBUNTU安装RAILGUN
首先需要先申请Cloudflare RAILGUN,这个要嘛200美元的套餐可以用,要嘛就是走合作伙伴路线申请
接下来说下怎么安装,以CENTOS7为例
使用ROOT权限进入你的服务器
如果你已经安装了宝塔之类的软件,那需要先进宝塔-安全,放行2408端口
当然也可以直接在SSH执行
放行端口
firewall-cmd --zone=public --add-port=2408/tcp --permanent
重启防火墙
firewall-cmd --reload
放行完端口后开始安装(这个安装方法貌似官方不推荐了,文件已经删除,请用下面的添加CF源进行安装的方法):
wget https://www.cloudflare.com/static/misc/railgun/centos/railgun-el7.latest.rpm --no-check-certificate rpm -Uvh railgun-el7.latest.rpm
然后编辑参数
vi /etc/railgun/railgun.conf
拉到最底下,改动这两个参数
activation.token=CF给你的RAILGUN的TOKEN
activation.railgun_host=你的服务器IP
合作伙伴的RAILGUN的TOKEN在这边:
然后保存,启动RAILGUN
/etc/init.d/railgun start
就能看到成功提示
合作伙伴后台可以看到开通成功提示
给某个域名添加RAILGUN权限,只需要在管理后台
关于memcached的反射攻击漏洞修复,这个漏洞主要是配置文件中未设置仅允许本地连接造成的。
这里输入
-l localhost
或者
-l 127.0.0.1
如下
然后重启就行了
另外有种直接添加CF的源进行安装的方法
第一步、安装源
CENTOS8
$ sudo rpm -ivh http://pkg.cloudflare.com/cloudflare-release-latest.el8.rpm
CENTOS7
$ sudo rpm -ivh http://pkg.cloudflare.com/cloudflare-release-latest.el7.rpm
CENTOS6
$ sudo rpm -ivh http://pkg.cloudflare.com/cloudflare-release-latest.el6.rpm
DEBIAN(记得把下面的jessie版本号用你服务器真实版本号替换)
$ echo 'deb http://pkg.cloudflare.com/ jessie main' | sudo tee /etc/apt/sources.list.d/cloudflare-main.list $ curl -C - https://pkg.cloudflare.com/pubkey.gpg | sudo apt-key add - $ sudo apt-get update
支持的系统版本
Buster (10)
Stretch (9)
Jessie (8)
Wheezy (7)
Squeeze (6)
Ubuntu(记得把下面的xenial版本号用你服务器真实版本号替换)
$ echo 'deb http://pkg.cloudflare.com/ xenial main' | sudo tee /etc/apt/sources.list.d/cloudflare-main.list $ curl -C - https://pkg.cloudflare.com/pubkey.gpg | sudo apt-key add - $ sudo apt-get update
支持的系统版本
focal (20.04)
bionic (18.04)
xenial (16.04)
wily (15.10)
vivid (15.04)
utopic (14.10)
trusty (14.04)
precise (12.04)
第二步、安装RAILGUN,根据不同系统选择不同安装方式,会自动安装MEMCACHED
RPM-based(CENTOS)
$ yum install railgun-stable
DEB-based(debian/ubuntu)
$ apt-get install railgun-stable
其他配置方法同上面
精简的安装步骤:
首先在宝塔软件商店里面安装memcached,然后到安全里面放行2408端口
接下来进入SSH,执行下面命令
下载
wget https://www.cloudflare.com/static/misc/railgun/centos/railgun-el7.latest.rpm --no-check-certificate
安装
rpm -Uvh railgun-el7.latest.rpm
安装完成后编辑配置文件
vi /etc/railgun/railgun.conf
拉到最底下,改动这两个参数
activation.token=我给你的TOKEN授权码
activation.railgun_host=你的服务器IP
然后保存,启动RAILGUN
/etc/init.d/railgun start
启动起来后告诉我,我把域名添加进去
RAILGUN的配置的一些常见问题
1、关于RAILGUN是否启用成功的查询方式
使用CHROME或者FIREFOX,按F12打开浏览器的调试窗口,然后在浏览器的网址栏目输入你网站地址
可以如果可以看到类似如下标头信息就代表开通成功
Cf-Railgun: 4fd1682b12 0.06 0.050570 0031 5360
RAILGUN标头参数说明
connection-id compression-ratio origin-time flags version
①链接ID,②压缩到原大小的百分比,③RAILGUN等待源服务器输出内容的时间,④标头标志(配合Railgun的诊断工具RG-diag使用),⑤所使用的rg-listener版本的哈希值的前四个字符
比如上面的Cf-Railgun: 4fd1682b12 0.06 0.050570 0031 5360 就可以解读为
链接标识:4fd1682b12 压缩率99.4% 源服务器的响应速度0.050570秒 标头0031 RG版本5360
如果显示的是
Cf-Railgun: direct (starting new WAN connection)
很大的可能性是你的服务器2408端口没打开,或者云服务器的安全组没放行端口,或者你的服务器有防火墙拦截了CF的IP
如果显示的是
Cf-Railgun: 4fd1682b12 stream 0.000000 0200 57da
RAILGUN标头里面多了stream标识,说明CF的RAILGUN并没有对传输内容进行任何压缩,而是直接传输,这种情况主要有以下几种可能
①你的网页文件大于默认设置的250KB
可以修改railgun.conf内的参数stream.size的值,最大不能大于1M
②Memcached没有运行,或者侦听器无法连接到它
③Memcached没有足够的内存,建议设置为512M-2GB之间
④响应主体为零字节或请求太小而无法压缩时,10KB以内太小的内容,将不会压缩,直接传输
⑤响应的MIME类型不是Railgun支持的类型
目前支持的MIME类型如下:
任何以 "text/"开头的
任何"application/"类型并以"+xml"结尾的
"application/json"
"application/ecmascript"
"application/javascript"
"application/x-javascript"
"application/xml"
"application/dart"
MIME类型Content-Type由来源发送的标头确定
关于RAILGUN的一些优化
1、因为RAILGUN使用本机的MEMCACHED对数据进行缓存处理,因此建议加大MEMCACHED的可用内存,一般建议设置在512M-2G之间
2、MEMCACHED内存建议设置到2GB (因此我们建议服务器要内存大于4G)