国内网络速度较慢的加速和防止DDOS攻击的高速CF切换教程
浏览:338 时间:2022-3-6

最近有个客户说他的网站在国外,但是国内网站打开的速度很慢,因为国内外用户都经常访问,他们希望提高国内访问他们网站的速度。他们的程序使用wordpress。一般来说,wordpress插件模板会加载大量数据,即使安装了像wprocket这样的缓存插件,也会进行js、css压缩或者数据库优化。其实网站的速度不会有很大的提升。

经过一些简单的分析,我计划将他们的网站迁移到cn2gia line的空间提供商,这可能是加快网站速度的最快方法。下面是我的一些实用分享,以及网站受到攻击时如何快速切换数据。

注:虽然这台机器放在国外,但在百度蜘蛛爬行出现403个错误的概率几乎没有了。

一、当前网站的分析

网站搬迁之前,空间放在digitalocean,cdn拍cloudflare。尽管digitalocean在国外是一家非常好的空间提供商,但国内用户访问cloudflare的速度仍然非常慢。另外,可以通过支线做dns解析,但是操作会比较麻烦。因此,本文不再讨论。

通过无缝浏览器chrome可以看到,速度只有6.35秒才完全打开。预渲染耗时4.46秒。另外,从站长家的测速可以看出。电信线路快一点。但是联通和移动的速度显然超过了4秒。

二、网站搬迁

至于空间商的选择,其实我们只需要选择一个稳定的空间和一条好的路线。基本上,它们都是可能的。我选择bwg的cn2giaecommerce。cn2gia最大的优势是接入中国三网非常快。而这个空间商也是最稳定的速度。我现在第一季度49.99美元,实际上相当于一个月16美元。

SSD:20GBRAID编织物-10

RAM:1GB

CPU :2英特尔至强处理器

传输:1000GB/mo

这样可以根据每个人的情况选择不同的主持人。不过建议在流量不是很大的时候,一开始不需要买特别好的主机,以后可以扩容。

1.操作系统选择

我用的是ubuntu20.04. php7.4 nginx mysql .你为什么选择这个。因为php7.4比php7.2快30%。

2.命令行

为什么不用宝塔?因为前段时间宝塔有一个很大的漏洞而且,关于网站,我觉得其他第三方工具要尽量少用。此外,建造的虚拟专用网可以尽可能干净整洁。外部程序较少。

下面的命令行是基于ubuntu20.04的,按命令就行了。几乎是万无一失的。

SSHRoot @ * * *。* * *.* * *.* * *.* * *-端口号码

上面的星号是Ip地址。-p是指定的端口。因为bwg的默认ssh端口不是22,所以在这里指定。

步骤1:安装nginx

sudoaptupdate

sudoaptinstallnginx

第二步:打开防火墙

sudoufwapplist

sudoufwallow\'OpenSSH \'

sudoufwallow \' enginexhttps \'

sudoufwallow \'NginxHTTp \'

Sudoufwenable -当此命令完成时,它将提示ssh连接可能会中断。直接输入y回车。

第三步:安装mysql

sudoapinstallmysql-服务器

Sudomysql_secure_installation(此步骤是可选的,它是一个安全脚本)。

输入y回车,选择2,最强密码,输入新密码,这是mysql的根密码。

然后选择y代表全部。一是删除匿名用户,二是禁止数据库根远程登录,三是删除测试数据库。

y是最后的选择。脚本立即生效。

第四步:安装php模块

sudoaptinstallphp-imagickphp 7.4-fpmphp 7.4-mbstringhpp 7.4-bcmathpp 7.4-xmlphpp 7.4-mysqlphpp 7.4-commonphp 7.4-gdphp 7.4-jsonhpp 7.4-clipp 7.4-curlphpp 7.4-zip

这里有一个命令,只需复制整个代码。这几乎包含了wordpress可以使用的所有模块。

SudosystemCTLReloadPHP 7.4-FPMNINX(重启和加载配置)

第五步:移动网站数据

因为我的网站是wordpress,可能你的网站是其他程序写的,所以内容不一样。我不会在这里写。另外,记得在/etc/nginx/sites-enable/目录下制作nginx.conf

服务器{ listen80服务器名您的域

步骤6:配置和安装ssl

我用let\'sencrypt做ssl。

sudoaptinstallcertbotpy 3-cert bot-nginx

sudo certbot-nginx-dex sample.com-d

用你自己网站的域名替换example.com。如果是多个子域。你自己加就行了。

这里需要注意的是,dns应该首先指向当前的VpS,否则如果使用Cloudflare,配置将会失败。关闭CDN。

见最后一句。恭喜你!您的证书已被保存:

安装成功。

此证书的有效期为90天,但certbot将每天运行两个systemd计时器来检查证书的有效性并自动续订。你应该检查计时器是否有效。

sudosystemctlstatuschertbot . timer

如果输出如下,则正常。

cert bot . timer-runcert bot withedailloaded : loaded(/lib/systemd/system/cert bot . timer;已启用;vendorpreset : enabled)active : active(正在等待)自世界协调时2020-05-0420:04:36起;2 weeks 1 daysagotroger : thu 2020-05-2105336022:32 utc;9hlfttrigger s 3360cert bot . service

第三,测试新网站的速度

直接使用国内电信,网站开通时间有了明显的提升。与之前的速度相比,大约高出2-3倍。这是夜间的速度。晚间访问的速度丝毫没有受到影响。

除了一个标为红色的地址,dns解析还没有生效,所有已经生效的Ip速度都在2秒内明显打开。

四、反DDOS攻击和cloudflare快速切换攻防

在这里,我建议使用cloudflare来配置您的网站。默认情况下,不会打开CDN。也就是域名直接指向Ip。但是,如果发生ddos或其他攻击,建议立即打开cloudflare的代理,并将该Ip指向您的备份克隆空间。因为Ip是隐藏的,攻击者的海量攻击数据会被Cloudflare过滤掉,只要你及时响应,几分钟就能恢复你的网站。

此外,您可以通过access.log来访问日志,以定位您的攻击源Ip。而在cloudflare的防火墙中,直接过滤可疑的Ip。例如,使用阻止访问或验证码来定位攻击者。而cf的选项也可以屏蔽整个国家。

此外,打开欠击模式。它可以有效防止中小型攻击。