当前位置: 首页 > article >正文

网站如何正式上线(运维详解)

因为平台原因,不能有太多链接,所以下文中链接都删除了,想访问的去原文链接:https://www.zhoudongqi.com/
TIPS
这篇文章是我自己运营运维的wordpess站点的经验总结,可以说十分详细,域名,服务器和CDN的选择和设置,网站安全,如何防刷防ddos,备案问题,icp经营许可证问题,站点优化等等等等。

但是可能写的有点冗余和繁杂,重经验中的理解,所以没有图去辅助教学,如果大家有疑问,联系问我即可。

原文:瑾年-JinNianX-瑾年的学习记录-科技漫步

1-如果你的服务器要搭建多个网站,一定要设置不同的数据库表前缀,不然如果再使用Redis的话,会导致数据错乱。

2-运维的防御和优化都是专门各方面细致的优化,不能被木桶效应。术业有专攻,建立去问大佬,不要自己瞎搞,事半功倍。

域名
如果你要成立一个品牌或者公司,要像注册商标一样,提前抢注你心仪的域名,否则就得出高价从他人那里购买。

如果心仪域名已经在别人手里,又不想出高价购买,可以看此域名主人会不会到期不续费,在此域名过期30天的时候,可以提前去西部数码或阿里云等平台预约抢注。不同域名具体时间:https://help.aliyun.c/zh/dws/user-guide/redeem-a-domain-name

域名到期——-30天内正常续费——–》高价赎回期———cn14天赎回期,com30天赎回期———–》删除期(无法再续费赎回了)——》重新开发注册(删除期中可能随时删除面向公众重新开发)

想去万物竞争的,域名过期30天后的赎回期,就可以去竞价抢注,如果域名持有者没有高价赎回(.cn域名的高价赎回价格通常为1200元人民币),域名就是你的了。(阿里云万网)

没人竞价且持有者未赎回,就是删除期后,重新开发注册;有人竞价,原持有者没赎回,就直接不进入删除期,直接给竞价成功者了

竞价一般是域名注册服务商那里举行,是在域名高价赎回期就开始,但是抢注是很多平台都有,是等域名进入删除期,随时删除后进行抢注。

域名是由国际组织ICANN定义,分配和管理的,最初属于美国的资产及管理权,后来在各国的反响下独立出来一个国际组织,中立的非盈利性机构专门来策划、分配、管理互联网。因此,所有域名均由ICANN负责管理和分配,但国家地区类域名,如我们国家的CN后缀,一般都是ICANN授权当地机构进行统一管理和分配。

2015年初,360公司以1亿人民币的价格从美国运营商Vodafone手中买下了360.c这个国际顶级域名,创造了当时全球域名交易的纪录。

2014年4月,小米公司以360万美元(约合人民币2240万)的价格购得了mi.c这个域名,成为当年中国交易最高的域名。

2014年,京东公司以3000万美元(约合人民币1.95亿元)的价格购买了jd.c这个两字母短域名。在此之前,京东一直使用360buy.c这个与其品牌无关且容易与360公司混淆的域名。jd.c不仅简洁明了,也提升了京东公司的品牌价值和流量效率。

X.c是一个非常有价值的单字母域名,它曾经属于马斯克的第一家创业公司X.c,后来被Paypal收购。2017年,马斯克以高价从Paypal手中买回了这个域名,但是一直没有启用。最近,马斯克把twitter.c换成了X.c。

1-正常注册的COM域名,在2023年,每年费用为70左右。当我的网站知名度上升后,续费域名会涨价吗?

域名价格标准是域名注册局规定的,各大平台如腾讯,阿里,godaddy只是帮你”代注册”,价格浮动与域名注册局标准价格相差不大。

因为你的域名实际上是从域名管理局买的,不是从代理商那里买的,管理局有费用标准不会乱涨价。

所以即使代理商涨价,换个代理商平台即可。

所以也不会存在域名知名度高后,续费价格上涨的问题,不然全乱套了。平时涨价也是所有域名稍作调整,最多贵个十多块钱。

2-那些杂后缀域名尽量不要买,比如fun。icu。等后缀的域名,它第一年很便宜,十多块甚至几块钱,但是第二年续费就得七八十。

1-如果你必须要买,尽量多买几年,以为买的时候一般多买几年有优惠,比如现在fun后缀十年只要188,如果你买一年10快,第二年续费就得70

2-cloudflare续费域名是最便宜的,以为他们是成本价买,不赚差价。(先在cf添加网站,把dns改成cf的,然后再点菜单栏的域名转移就可以看到吧域名转入cf)

3-如果你是看重域名的名字,只有垃圾后缀,然后必须续费,你可以放弃这个后缀,看看有没有其他垃圾后缀平替。或者如果域名没在使用,而且这域名没人和你枪,那就等它过期了再重新买,就不是续费的70了,又是10块。

4-转入域名到其他平台确实会便宜一点点,但是也最多便宜几块十多块,这种杂后缀域名每个平台注册虽然都是10块左右,但是你从一个平台转入到另一个平台,还是算续费价格70左右的,而不是算注册价格,所以域名转入对这种杂域名的续费,便宜不了(它这种域名就是靠第一年便宜,骗你注册)

西部数码等平台有时有域名转入活动,那也是争对cn和com域名,五折转入等也是有限制,转入后几年内不能转出。

总而言之:域名所在平台的续费活动和把域名转入其他平台,都省不了几块十多块一年,没必要在意。

还有我们不要买杂后缀域名,第一年便宜,第二年续费很贵,要买就一次买很多年,优惠点。如果已经买了一年,那可以考虑放弃当前后缀,去选用其他后缀,或者等过期了重新注册。

3-网站为什么要icp备案?

备案是国际工信部互联网安全等机构指定的,为了防止一些人用网站进行非法活动,当网站备案后,就能找到相关负责人。

域名绑定国内服务器都需要进行域名备案后,服务器才能使用,这是国家要求所有国内服务器厂商做的限制。(否则有人非法活动,又是国内服务器厂商提供的服务,厂商就要担责,所以厂商需要确定你的网站已经备案,这样就是备案人担责)

如果你用国外服务器或者香港服务器,国外服务器厂商不受我国要求限制,就不需要备案即可将服务器绑定域名。(国内有可能将此服务器IP拉入黑名单,导致国内用户无法访问,所以一般买香港的)

TIP1:当域名不再使用,需要及时去注销备案。因为管局不会每天去审核谁的网站还有没有运营,只会定期抽查,如果你的域名到期后被别人注册,进行了非法活动,那么出事了,备案人还是你。

TIP2:COM域名你去godaddy等平台都不需要实名认证就可以购买和解析,但是CN域名就算是在国外平台注册也得实名认证的。

TIP3:其实国内服务器还可以绕备案,教程百度即可,但是一个规矩是不允许的,你去钻漏洞即使成功了,也是违规的,后续使用也很容易遇到问题,不如买个香港云。

TIP4:如果你是国内服务器,要icp备案,用的哪个平台的服务器就去哪个平台备案,和域名所在平台没关系。

TIP5:icp备案是不分交互式的(公安备案才分交互式),但是分个人备案和企业备案,个人备案是不能盈利的,大部分省份也是不允许交互的(如用户注册登入和发评论)。(走香港云自然就不需要icp备案了,但还是需要公安备)

TIP6:公安备案的交互式,基本上需要线下去网安大队审核,非交互式一般线上就行了。(其实没那么多人管这些,别说申请交互式了,很多人根本没有公安备案,照样开评论等交互式功能,都没事,不过想要网站长期运营,还是按流程来比较好。也看你对业务的把控,你是正能量的东西没有公安备一般也不会处罚你,最多叫你注意然后完善备案。否则还是避免用cn域名,选择用com等域名,走香港云或者国外服务器,根本不需要备案,怎么盈利那就看你自己了)

TIP7:无论是icp管局备还是公安备案,备案地址一般选主体(你自己)身份证上的地址,因为大部分省份只受理本地备案或者有当地居住证的人才可以。

TIP8:cn域名也可以用境外服务器的。但是用境外服务器虽然不用icp备案,但是没有这个备案的网站,搜索引擎的SEO对其一般不友好。

TIP9:域名icp备案的时候,网站名称记得想好,后续网站title必须包含备案网站名称(一般也没人管,但是后续同一个主体增加备案的时候,会审核以往所有网站,这个时候以往备案的网站title必须包含当初备案时网站名称)

icp备案后,会提醒一个月内继续公安备,但是公安备基本没人查,有时年把的,网安大队的上面可能才下发所有域名名单给你当地网安大队,工作人员就一个一个核实,没备案的就给你打电话,你这个时候再备案就行。当然提前备案好最佳

总而言之言而总之,有两个备案

icp管局备案:你用国内服务器就必须要备案,用国外服务器就不需要备案。然后个人备案的icp管局备案大部分省份不允许网站进行交互(注册登入和评论等操作)

公安备案:无论用不用国内服务器都要求备案,要求是开站icp备案下来30天内进行公安备案,否则可以给予警告或关站整改。但是不严,大部分网站没有公安备案过。在这里申请交互式基本上也需要线下。

两个备案互不联系职能不同:如果管局备案是个人备案,理论是不允许交互的,然而公安备案我申请交互式又通过了,但如果我的网站交互,被管局发现,即使公安备案了交互式,也和管局不相干,可能也会警告要求取消交互。

用海外服务器:不需要管局备案,但同样要进行公安备案,但上文说了,要求不严格,很多人没备案过。看个人吧,比如你godday注册的com域名,又是海外服务器,都无法判断你是国内站点,你是否公安备就看自觉性了。cn域名的话,找你了再备案呗。

看似很繁琐,其实也没那么离谱,只要你不是h,d,d和骗人,提供一些服务,按不了你的head,最多整改罚款。

3-如何icp备案?

企业备案需要营业执照,法人身份证信息等,在企业地址拍视频核验,具体问备案平台即可。

个人备案:在腾讯云平台,填入自己的信息,身份证照片,人脸识别验证,根据要求填入网站相关信息即可。

注意:腾讯云备案页面附件需要提交一份网站建设计划书(图片),还需要本人电子签名(涂鸦前上去就行,或者打印出来拍照);此外还需要把网站建设计划书(word或pdf)通过邮箱发给管局。

注意:一定要备注准确方案书通过邮箱发送给管局的时间,不然管局找不到邮件,就会说你没发网站建设书,白等一个月,备案失败又得重新提交建设书再重新审核。

如果不急,有细节错误都没关系,直接提交备案即可,有问题腾讯人员会打电话给你辅助备案(一天内就会打电话,效率挺高的),腾讯审核通过后才会提交管局审核。

如下word模板:仅供参考,根据你的网站内容简单书写即可。

新增网站组网方案与解释说明

一、 网站服务内容介绍

当前域名jinnianx.c是具有做信息存放与技术分享等功能。

1、内容介绍:

网站当前主要记录生活与分享资讯的个人网站;用户通过浏览器打开jinnianx.c,可以访问到我的网站,可以按照自己的需求选择对应的栏目,再选择需要打开的链接。

2、域名用途:

jinnianx.c方便用户找寻网站,可以直接打开浏览器,输入我的网址就可以打开我的网站了。

二、 组网方案

服务器基础设备配置:

腾讯云轻量应用服务器/ 空间:80G / CPU:4核/ 内存:4G

服务器使用技术及部署情况:

服务器系统程序:CentOS 64位(安全加固)

WEB服务器程序:NGINX + MySQL

三、网络安全与信息安全管理制度

(1)负责服务器的日常维护、技术支持,并对服务器的功能提出意见、建议和方案等。

(2)妥善保管好服务器登录密码,不得告诉他人,有事外出或下班时,要及时退出设置项界面。

(3)加强服务器检查。定期对数据存放硬盘空间、CPU使用、内存空间等环境进行检查。发现硬盘存储

空间、CPU异常、内存异常等问题要及时处理,不能及时处理时应向空间商反映,并积极采取措施尽快解

决。

(4)加强服务器的病毒防范。要经常了解和掌握网络病毒的流行情况及其解决方案,并积极采取应对措施。

施,避免对服务器及网络内其它终端的感染。一旦被感染,要及时提出杀毒方案,控制传播范围。定期对

各服务器进行查毒、杀毒。

(5)保障本系统的实时安全运行,负责每天的信息数据备份。

(6)负责对服务器中文件的增加、删除及权限变更工作,严禁无关人员登录服务器。

四、承诺

承诺如发现主体信息有误、网站实际开办内容与备案信息不一致、域名有交易行为、网站内容涉及九不准等违法违规问题,接受接入服务商关闭网站、主管部门注销备案并列入黑名单的处罚

​ (这里写个电子签名或者手写签名)

​ 日期:2088年8月8日

​ 网站负责人:zdq

4-网站更换服务器,需要重新icp备案吗?

国内域名更换服务器,是同平台服务器,如域名和服务器都是腾讯旗下购买的,更换备案信息的服务器ip即可,不需要重新备案;(因为你其实已经备案了,就换个服务器ip,后续腾讯提交一下新ip信息给管局即可)

更换为另一个平台服务器如阿里云,也不需要重新备案,进行接入备案即可,然后阿里云平台会将修改后的备案信息提交给管局一次,让管局也知道服务器IP变了,服务器提供商变了。(让新的服务器提供商知道你的域名备案了,然后平台再向管局更新信息)

5-网站在管局icp备案通过后,按理说需要在一个月内进行公安备案(审核一般3-5天),不过这玩意说是一个月内需要公安备案,但是很多站点都没备案的,应该不强制,当然和当地政策有关,但是没接到当地网警大队电话的话,可以先不管。

公安备案在信息变更后,如服务器IP变更等,最好也尽早在公安备平台进行信息更新。

tips:

我们公安备案的一般是非交互式,也就是没有用户的注册登入的,如果要有让大众注册登入的交互功能,备案就需要选交互式。(icp备案是不分交互式的,但是icp个人备案大部分省份默认也是不能交互的,也就是不能让用户注册和发评论等操作)

区别:

非交互式:如上内容线上申请一下,等工信局通过就行了。

交互式:不同地区可能不同,大部分地方线上申请后还需要线下面审,但基本上就是确定主体人,然后和你说一些注意事项。(个人为主体就去户籍所在地精确到县,公司为主体就去公司注册地)

备案问题
1-备案服务器ip变更了。

某些情况,当备案的ip和实际网站使用的IP不同(比如自己的备案厂商的服务器过期,然后用了朋友的服务器,或者其他小厂的服务器),服务商可能会发现,并打电话给我们。

我们可以说网站使用了cdn,源服务器还是用的原先备案平台的(如原先服务器是腾讯云,即备案也肯定在腾讯云)即可,一般就没事了。

如果他还要你提供源服务器ip,你报你的源服务器即可,如果原先的服务器过期了,你报一个同平台的服务器就行了(因为同平台换服务器,服务器变更不强制修改备案ip信息)。如果原服务器又过期,你在平台又没有服务器资源,那就只能买个原服务器厂商的便宜的能备案的服务(函数包或者最便宜的服务器),然后用此服务挂载一个网站的子域名的单页即可(前缀单页,比如让a.xxx.com解析到一个页面即可,也可以放一些源站文件到这个不用的服务器伪装一下),然后把ip报给他。实际上你还是用的服务商平台外的服务器为网站提供服务。(实际上可能单页都不用挂,因为腾讯云没权利知道我们服务器的内容,自然不知道有没有真实用那个服务器,我们只需要说用了cdn,然后有一个腾讯云服务器在运行,没有过期就行了,报那个服务器ip即可)

注意:千万不要买备案服务商外的服务器(因为服务器在哪,你就得在哪备案,你腾讯云备案的,后续ip换成阿里云的,就要在阿里云接入原先腾讯云的备案,麻烦一点,如果你再买个腾讯云的便宜服务器,挂个单页就行,什么都不用管了)。

情况一:在腾讯云备案后,自己服务器过期了,用了腾讯云之外服务器,如果有人打电话过来,直接说网站挂了cdn,所以ip显示和备案不同,如果继续问:“你服务器都过期了?怎么提供服务的?”,那没办法只能报朋友的腾讯云服务器ip(或者自己买个腾讯云最垃圾的服务器挂个单页,报这个ip)即可。

情况二:在腾讯云备案后,自己备案对应的服务器没有过期,但是性能不够用,用了小厂服务器或者朋友服务器,那只要在原备案对应服务器挂个网站的单页即可,实际服务放到其他服务器。打电话来问,就说服务商外的服务器ip都是cdn,源服务器报自己那个和备案对应的服务器ip即可。

总结:如果你有多个站点,然而备案只有腾讯云和阿里云这些大厂方便,而备案只能在服务器购买商那里备案,那么这么多站点服务,都用大厂的服务器,谁用的起?所以可以只开一个服务器(这一个是必须的,不能一个都不开,服务器都没有,怎么备案的?很明显就不符合规定了,会被撤销备案),每个域名备案都和这个服务器绑定,然后在这个服务器中运行一个和域名相关的单页就行了,不需要让这个备案服务器去做真正的服务处理。真正的处理交给那些便宜的小厂服务器。

实际上单页操作,服务商要查你,完全可以通过流量和你实际网站的运营情况判断出,你只是挂了一个单页,没有真正提供服务的,但是他们不会去管。

更换ip是否需要重新备案或者修改备案信息?

一、 更换服务商
当您的服务器从其他服务商更换为腾讯云时,您需要在腾讯云申请ICP接入备案,反之则需在对应服务商进行ICP接入备案。

二、未更换服务商
当您从腾讯云服务器更换为另一个腾讯云服务器时,ICP备案有无影响取决于是否需要做经营性备案。

需要做经营性备案:要进行变更备案,更改备案登记的IP地址,确保经营性备案的IP与工信部登记IP一致。
不需要经营性备案:可以不变更备案,因为同一接入商更换IP不强制重新备案,可在需要变更其他信息的时候同时进行变更,无需单独变更。
其余一些小知识:

1-如你在腾讯云备案,你后后面换了阿里云的服务器当源站,阿里云会要求你接入备案的,否则服务器不给你提供服务,你阿里云接入备案后,腾讯云打电话给你问服务器过期了,你可以直接说用阿里云服务了。

小厂服务器可能没这要求,只要你原先备案过就行。但是这个时候,腾讯云打电话给你,说你服务器过期了,你还是得想办法维持在腾讯云的备案,比如买个轻量云挂单页,把小厂服务器说成cdn服务。

2-接入备案和申请备案一样,都要审核5-15天,但是域名首次申请是不能开站点,接入备案是必须开启站点访问。

3-操作个人备案一个域名,会审核以往备案号下所有域名是否符合要求

4-个人备案,比如你有10个网站,其实备案号一样的,只是后面有1,2,3,4.等序号区别,注销某个网站个人备案,只会注销一个网站,不会10个全部注销。

5-你的个人备案网站,一般开个文章评论是没人管的,但是如果开了论坛,可能备案接入商(腾讯阿里云等)会打电话给你,你就得取消论坛交互。你可以尝试关了,审核完再打开,但是接入商查到一般就会再次通知你,他们也不是就查一次,长期运营还得是企业备案,或者你不用国内服务器。

更严重的是管局查到,那就不是接入商提醒你叫你取消交互了,而是可能直接拉黑主体(个人备案主体就是备案人),但是管局一般不查。

个人网站查到经营行为也是一样的,接入商提醒后,你把涉及充值的部分去除就行了,但是仍然可以有会员,但是只能积分兑换会员这种形式。你也可以关了充值再打开,但是和上述一样,不是只查一次,管局查到会拉黑的。

实际上你个人备案网站,开了论坛和交互,接入商基本是不管的,但是不能有收费的经营行为,你网站积分换会员可以,但是要花钱买会员不行。

个人备案转企业备案

1-个人备案转企业备案,必须先注销个人备案再进行企业备案,备案期间网站不能访问。

个人备案期间网站不能访问,但是可以尝试规避可以不开www和主域名@访问就行,子域名他们备案审核可能查不到,但是被查到会退回,然后要重新备案的,可以提前提醒用户服务暂时转移到另一个网站。

如果是企业备案的话,尽量老老实实关站等审核通过,被查到有解析会直接退回,没冒风险的必要,用户多你可以开一个其他网站顶着,用户少就关站就行了。(备案可以加急等,有几天的,也有七天半个月的,看地区决定,一般一周)

域名购买

1-购买可以去没买过东西的新平台去注册,一般com老用户七八十,新平台去注册就三十多,国内云厂商多了,都可以白嫖新用户。

2-续费可以转出域名,转出域名必须在新平台续费一年,但是这个续费一般比较便宜

高防服务器和高防CDN等价格
其实基本上没人攻击你的网站,很多做的有那么大的企业面向大众的服务都没防御。

大部分卖服务器的是源头机房的代理。(机房厂家一般是卖ip和带宽和防御和管理服务器服务的,他们也卖自己的服务器)

比如雨云和亚洲云,就是自己买服务器给机房管理,也可能对接租了一些机房的服务器等等,然后集成起来。

大代理:他们也算是有规模的平台,有自己的服务器,然后把服务器放到机房,叫机房帮忙管理,而且对接了很多个不同的机房。(自己的服务器,成本大,风险高,但是最实惠)

小代理idc:就是买个魔方或者v10(相当于卖服务器idc的网站源码,一般买个魔方普惠版几百块),然后对接各种机房的机子(自己没有服务器,不需要担心卖不出去),然后集成到自己的idc网站,当机房代理也有门槛,比如你和他很熟悉,或者代理分等级预存1万2万3万,就可以拿到不同程度的折扣。(比如讯飞和西信就是专做湖北十堰物理机的机房厂商),根据不同等级,可以4-6折拿货。甚至2-3折,前提你预存多。

小小代理:因为没钱预存,所以就可以当厂商代理的代理,代理预存低(几k),或者根本不需要预存,但是折扣没对接机房厂商那么高,相当于赚个差价,比如上级代理充了3w,然后能4折拿货,然后我们充2k就能从他这5折拿货(5折去对接飞讯需要充2w)。

直接对接讯飞这种源头厂商,因为他们买了相应idc操作系统服务,我们自己魔方下面的idc用户可以直接操作防火墙,但是如果是当代理的代理,可能没买idc操作系统服务等,我们可以操作防火墙,但是我们的用户无法操作,需要私信我们。

买服务器也分很多种,比如有的带宽有优化线路就贵一点,有的相同配置相同价格,但是分为小带宽和大带宽,小带宽无限流量,大带宽按流量包计费。而且带宽你还得看是共享带宽还是独享带宽。

讯飞专门做湖北十堰物理机,香港云等其他地区的服务器就得去找香港的机房厂商才划算。

买服务器记得看cpu型号,不要只看几核几g的内存。不同型号天差地别

总结:你看到的所有idc云服务,基本上打个3-6折买才是最优的价格,高防cdn什么的折扣也差不多。

我们买服务器的时候,找到对应厂家机房源头,相同机器情况下,看他们的代理价格,然后再对比我们所在购买平台的价格,如果我们有当代理的路子,肯定自己拿代理价格最便宜,如果没有路子,或者当代理需要付出的代价高于通过代理价节省的钱,那就选择一个性价比最高的平台地方买就行了。

备案问题:

讯飞等机房不会叫我们备案,我们原先在腾讯云和阿里云什么的有备案就行了,腾讯云那边问ip解析为什么不是他们那边服务器,我们就说是cdn。

tips:

1-买国内这些高防服务器,你会发现,还有一个禁海外封udp选项的服务器,比普通高防贵很多,他这个封海外不是我们服务器的禁止海外IP和nginx防火墙什么的禁止海外IP,它是在线路上就禁了,一般没什么必要,因为我们服务器的防火墙禁海外也够用了。

区别:服务商的禁海外封udp选项,是在线路网络层上就禁止了,而我们的服务器禁,流量还是到达我们服务器了,虽然禁了,但是你配置不当,可能还是有一些性能影响,但是影响不大。买网络层服务商的禁海外性价比很低。

物理层(硬件双绞线、光纤)—–链路层(以太网协议,网卡,数据帧)—-网络层(ip)—-传输层(tcp、udp)—–应用层(http)

服务器
物理服务器,就是一台完整的服务器,和我们电脑机箱差不多。

云服务器:一台物理服务器通过技术,比如物理机有24h48g,通过技术分为6台4h8g的云服务器,其中一台出问题,其他五台不受影响。

轻量云:也算云服务器,但是厂商限制了性能,也都是老机子(就像电脑分i3和i9),而且无法改变配置和流量,只能进行套餐形的升级,比如内存cpu流量带宽全部升级,不能和云服务器一样,单独升级某个配置;(一般也没人升级,升级一般没折扣,能贵死你)

vps:通过一台物理机用虚拟化技术,分出很多个机子给大家使用,但是一台机子出问题,其分出的所有vps机子全部出问题。

虚拟主机:用户没有系统权限,没办法主机安装某个环境比如换php版本,里面的环境和配置和软件都是固定的。

区别:云服务器具有更高的稳定性,因为其采用了分布式架构和冗余备份策略,有效避免了单点故障。

VPS的稳定性相对较低,因为其依赖于单台物理服务器。当物理服务器出现故障时,所有托管在该服务器上的VPS都会受到影响。

tip:云服务器和轻量云和vps基本都能有独立ip,但是虚拟主机基本上是共享ip,独立ip很少或者得额外付费。

小网站直接腾讯云阿里云去嫖新用户首单特惠,存储桶和轻量云都很便宜的,过期了就用亲朋好友的号再开首单特惠,服务器迁移就行了,备案问题自己号保留一个垃圾最便宜的服务器,实际上用亲朋好友的首单服务器,就说用了cdn就行;存储桶迁移就更简单了没限制;短信和邮箱和cdn什么的就不需要嫖首单了,老用户也不贵。

服务器有很多种,比如有大带宽和高防御,就不用上cdn了,不限流量的话就可以考虑加存储盘,图片都存服务器不用存腾讯云cos什么的,付流量费了,具体情况具体分析,找出最划算的方案。

服务器可以去宝塔中下载宝塔跑分应用,可以看到相应的性能跑分数据。

买服务器,可以找便宜的,但是不能太离谱,不然肯定会被跑路,或者超开(也就是说多人共用资源,很有可能跑不满)

大厂服务可以加一下客服经理,是可以第一时间了解最新活动的,除了那种最便宜的机子,其他机子和云服务基本可以额外申请优惠券抵扣,活动问题等都可以问问,他们拿一些提成,我们也节省了时间,双赢,反正那个提成我们自己也拿不到。也可以加几个和腾讯云等云服务资源合作的渠道商代理,对比价格。

一般轻量云国庆,双十一和周年庆最便宜可以到达1-1.5折,其他云服务器也是三折,如果你是公司对接大量,去谈可能云服务器也能1-1.5折

服务器的带宽大都是Mbps,和我们日常理解的有区别。如12Mbps:

12Mbps(兆比特每秒)的下载速度换算成实际下载速度如下:
首先将Mbps转换为Kbps(千比特每秒): 12 Mbps = 12 * 1024 Kbps = 12288 Kbps
再将Kbps转换为KB/s(千字节每秒): 12288 Kbps / 8 = 1536 KB/s
所以,12Mbps的下载速度大约是1536 KB/s。

1-总所周知,想用国内服务器为域名提供服务,域名必须备案,但备案又很麻烦,如果你只是用此域名做一个静态网站,则可以用github的仓库代替服务器。

如zhoudongqi.c此域名在当前2023年9月,并未备案,但我将此域名的DNS解析到github的仓库后(当然在github也需要进行一系列操作绑定并认证zhoudongqi.c为你自己的域名,操作百度即可),这个仓库就相当于一个服务器为我的域名提供服务。

2-2021年买的腾讯云轻量级2h-4g-8m-每个月1200g流量,才200块三年,现在大厂的服务器及时搞活动也贵的了特别多。

3-一般大厂搞活动也就那些轻量云搞活动,其他服务器贵的要死,所以很多人也用的小厂服务器。

4-轻量云和普通云服务器是有区别的,轻量云的设备比较老,而且有性能限制,简单说同样配置,性能没那么好。

5-服务器和我们电脑一样,是分新老的,比如电脑的cpu的i5和i9,同样8核的话,那个性能是不同的,所以你会看到同样配置不同服务器,可能价格相差很大。

6-云服务器就是一个物理服务器机虚拟化出多个云服务器多个ip,可以给多人使用。你的站点流量高,也可以直接买物理服务器套餐,或者找机房合作买一台物理服务器让它们代运维什么的。

活动

1-大厂服务器都很贵,一般除了轻量云,其他机器都是买给企业的,一般3折拿,量大1-2折。我们还是买小厂吧,或者用轻量云。

2-大厂有那种企业认证等,比如阿里云企业认证领3500优惠券等可以关注一下。

服务器系统

1-centos纯命令占资源少,debian图形和命令都可以,ubuntu是图形界面

现在一般用debian系统,因为centos停止维护了

注意:

1-国内买的服务器除了hdd,还都不能做发卡,代收款(比如易支付等),会被封机器。、

2- 如果不是自己玩玩而已,不要买轻量云,轻量云性能比正常服务器差很多,而且遇到用户激增,不能加配置和加流量,是固定的,加配置也必须得整体上配置,不能单独加某个配置,只能套餐形的加配置,而且加配置一般没优惠价格,那么根本不划算,再者轻量云有固定流量限制,一个月流量用完没有流量包可买,只能按gb付费。

3-要买买弹性云那些能后续加带宽和硬盘和内存等配置的服务器。

tips:

1-腾讯云轻量云可以买一个ddos防护,几毛钱,一个月抵御一次100g的攻击。

2-服务器被打进黑洞了,有一个轻量ddos防护(防御几乎为0,就是用来解除封禁的),三十多,可以每个月立马解封三次。

WHOIS如何隐藏
如果你不想让别人查到当前域名的注册人,怎么办呢?

CN域名查询地址https://webwhois.cnnic.c/WelcomeServlet

CN域名默认是开启姓名和邮箱的,就算你在注册商这里隐藏(腾讯云,阿里云等),在官网(上面链接)还是可以查到的。

解决:需要花39每年,在注册管理局层面隐藏,具体操作工单咨询域名购买平台(阿里云腾讯云等)客服即可。

COM域名

COM域名一般没有whois详细到个人姓名和邮箱。因为注册局根本没要这个信息(那怎么证明这个域名是你的?我也不清楚~)。

虽然注册局没要,但你在腾讯云或者阿里云注册的com域名也是默认实名了主体的,也证明了你是此站点的持有人,这个信息是保密的(当然你犯事了除外)

其他后缀域名

这些域名有些会显示姓名的英文,但是不会显示邮箱,具体看后缀注册管理局和注册商了。

如何联系COM后缀域名站长

有时想买一个COM域名,站长又没有给出联系方式,因为是com域名whois又查不到信息,怎么办?

可以先简单whois出当前域名注册商,再去去各大注册商(腾讯云,阿里云等)的官方whois平台,一般可以在这里联系到站长(可以通过注册商这个第三方联系,比如你在阿里云的whois告诉阿里云我要联系当前域名站长,阿里云就会发邮箱给站长:说有个人想联系你,你想和他联系吗?)

TIP:一般新注册域名无法马上转出到其他服务商,如阿里云新域名注册后60天内无法转到腾讯云或者godaddy的。

网站ICP经营许可证
这玩意就必须是公司了,而且还要相应资质,门槛高,需要三人的一个月社保证明,公司注册资金为100w等

这个和什么公安备案的交互式又不同,你说公安备案我选了支付的交互呀?

它们职责根本不同,你公安备案通过了支付交互不代表你能这样做,它只是一个备案,反而如果你备案了,没有经营许可证网站还涉及交易,还能通过备案找到你是谁。

所以一般站长就会通过码支付或者易支付或者发卡网进行站点经营

码支付:直接到账自己收款码,款项直清,但是需要搭建程序挂机监测你的账户的余额变化,收款了就回调给你的网站说支付成功了,然后让用户购买成功。也可以用那种自带检测的,也就是别人用服务器搭建好的码支付,每个月收你十多块钱,为你提供监测服务,你需要把支付宝扫码登到他的服务器上。自己搭建就需要自己买服务器和域名和买个程序授权(现在peak码支付程序很火(2024-10已跑路,不更新版本))和维护,浪费精力。如果用别人搭建的因为服务器是他的,程序也是他的,正常来说钱是直接到你账号设置的二维码,但是原理上他是可以修改你网站收款码的,所以也得用熟人的。

缺点:是收款到个人账户,款数多了容易风控,就需要换收款二维码;需要用户扫码,手机端不方便(通过接口可以实现直接跳转支付宝转账页面,而且自动填写付款金额,但是这和传统平台收款不同,用户还是容易缺乏信任)

易支付:有资格收款的企业,帮我们代收钱,一般采取day+1的方式二清,第二天给我们,他们抽取一些费率。

易支付,用户付款可以直跳微信和支付宝,和我们平常用的软件收款没什么不同(也看情况,有的易支付只能扫码,在于你找的这个易收款的所用收款有没有h5收款权限,公司申请官方收款接口,扫码收款和h5跳到微信和支付宝内收款,和小程序收款等等都是需要分别申请的,支付宝h5申请容易,微信直跳h5收款申请较难需要公司有一定资质。)

注意:一定要找靠谱的平台,因为只要有收款接口,这种平台人人可以搭建,有的人没有收款权限,甚至又拿其他易支付的接口去套娃。很容易跑路,就把你没提现或者当天的钱吞了。

费率:一般易支付平台有的会收开户费,十块到一百块左右,外加以后微信和支付宝的每笔收款的2%-5%左右(看各易支付平台),也有的开户费高,但是不收手续费,只收他们必须支付给官方的官费。

优点:收款方式对用户来说信任度高,和我们打王者荣耀什么的充钱一样的充值方式;因为是企业收款,也不会风控,就算风控了,易支付平台也有其他收款接口,所以不用担心用着用着收款不了了。

缺点:必须要找靠谱平台(有国内备案,有公司等),否则容易跑路,记得钱必须每天提现,就算跑路也最多跑你一天的营业额,而且还可能你用户付款是正常款项是清楚钱,而你提现的时候,易支付可能给你打的款是hei钱(几率较小,你每天收那点钱一般没啥事,大了你自己也有企业官方收款了),所以必须找靠谱平台。

tips:除了个人无法申请官方收款的群体,很多公司自己可以申请官方收款接口,也用易支付,我认为大概率是为了避责避税,因为用了官方支付钱好像直接到公司对公账户,一定程度来说是需要缴税的,或者需要记账,每个月季度年去申报,比较麻烦,而用别人的就可以零申报,简单一点等等,但是这操作肯定不合规;还有可能这些公司的收入不正规,正规的易支付一般明令禁止不正规的网站接入支付,当然也有允许的易支付代收;就比如没有icp经营许可证,万一罚款利润所得,易支付就可以隐藏这个收入利润,查也最多查到最近调查期间的流水,起先用的易支付收款获取的利润肯定查不到。

支付宝当面付:通过这个也可以实现跳转支付宝支付,支付宝官方有很多支付都需要营业执照的,当面付也需要公司企业,但是这个当面付可以不要提交营业执照申请(不是必填项),有的人就会用别人的门店信息去为自己申请当面付,但是这种方式通过率很低。

优点:是到账自己账户;可以直接h5跳到支付宝支付,和公司收款无太大区别。

缺点:这是当面付,网站是来自世界各地的支付,容易发现被风控。

虎皮椒:他们是微信商户服务商,微信设立了这个角色的存在,商户服务商可以为个人微信配置收款接口,就相当于把你拉入它的公司服务下,用于网站收款。(他们收取一定费用微信为一百左右)

他们也有支付宝支付,收88块服务费,但也是申请支付宝当面付,没什么区别。

缺点:严格来说不能h5跳转收款,只能扫码收款;通过服务商的设置和技术手段也可以h5收款,但是容易被微信查到,就不能h5收款了。而且它这种h5收款和公司的直接跳转收款页面也有些差异,但是起码比扫码付款好。

优点:直接到账自己微信,不再需要搭建什么码支付,而且起码有一个类似h5收款功能。

缺点:不是企业收款,终究是个人收款,后面肯定也有一点限制。比如笔数和金额大小等

企业官方接口支付:需要企业营业执照等,而且微信h5移动端很难申请(支付宝可以申请到h5),微信一般只能申请到扫码。

名词“进件”:https://pay.weixin.qq.c/docs/partner/products/contracted-merchant-application/introduction.html,就是申请收款接口的过程;或者搞个进价的意思就是去某个平台弄一个可以在线收款的资格。虎皮椒就是一个服务商,我们去它那里开通商户,通过这个商户就可以收款了,这个就叫做进件。

费率:有的不同,反正不到百分之1申请还要认证什么的,也得几百块。

优点:官方的,什么页面都是最合理,用户信任度高,付款方便。

缺点:可能要计税,而且公司业务要正规。

—————————————————————————————————————————————————-选择别人搭建的东西,易支付和码支付和聚合登录等等,除了要和他熟悉,还有易支付看资质有没有公司等等。还有一个重要因素:考虑他搭建系统的可用性和稳定性,比如他搭建的站点有没有防护,被ddos了怎么办?他被攻击了防不住的话,我们使用他旗下的那部分功能就也用不了了。

网上大部分说的是自身产品的延伸是不需要icp经营许可证的,比如做一个每日记录打卡软件的付费会员,这是卖的自身产品就不需要icp经营许可证。

然后很多人说有第三方用户入驻产生内容的就需要icp经营许可证,比如论坛等。

但是很多论坛也没有icp经营许可证呀?比如吾爱破解等

网上说的条款是:对于有违法所得的情况,没收违法所得,并处违法所得3倍以上5倍以下的罚款;若没有违法所得或违法所得不足5万元,则处以10万元以上100万元以下的罚款。

我认为标准是,可以用户产生平台内容,但是不能让第三方除自己外的用户现实盈利。比如淘宝那种商家入驻肯定需要icp经营许可证。

一般小的时候没人管,大了自己办一个就行(企业得100w的资质,可以不实缴,但是目前条约公司必须五年内实缴,但是五年内做不起来,基本上也可以注销了,所以没影响,还有三个员工一个月的社保,申请下来看情况一万左右包全了还是代办,自己不操心(总共费用,包含了社保))

你可以先搞个小公司,注册资金三五万的,公司账上不留钱,钱都以工资的形式发给自己等等,就算被罚款,罚的是公司,不是个人,大不了申请破产。也可以变通一下,参考其他和自己类似的网站,会员写赞助等等。

关于ICP经营许可证要不要办,我认为有两篇文章讲的不错,

1-https://bidewang.c/profitable-website-icp-permission/#contact

2-https://www.zhihu.c/question/27921429/answer/130639447?utm_psn=1816639345513340928

3-https://www.zhihu.c/question/27921429/answer/3163937752?utm_psn=1816644432860151808

第一:网站,没有第三方在上面上架商品,盈利等,是不需要许可证的。

第二:网站,没有为第三方提供信息发布平台,是不需要许可证的。

第三:依托微信小程序支付宝小程序等进行经营,不需要许可证,当然也不能违反第一第二规则。微信也会审核你的小程序业务,没有资质他们也不会通过。

根据公告,有第三方入驻的网站平台,才需要办理许可证。

第三方商家售卖产品(闲鱼,淘宝,京东,多商家入驻的小程序,等等)
第三方用户发布信息(抖音,今日头条,知乎,微博,豆瓣,天涯社区,虎扑论坛,交友小程序,相亲平台
所以做一个网站,卖自己的东西,比如网站会员,是不需要icp经营许可证的。

如果你的网站中有论坛,那可能就涉及到“第三方用户发布信息”,严格要求来说是需要icp经营许可证的。但是其中这一点也有说法,是可解释性的,比如你虽然提供了用户发布信息,但是你并没有让用户挣钱,没有像知乎那样有用户间的付费解答,没有让用户赚钱自己抽佣,也可以是不需要icp经营许可证的,或者说没有完全违反第二条,是较为轻微的。

实际情况:

除了上海,北京,西藏,新疆严格执行,其他地区一般要求放宽了。

实际中很多带论坛的网站都没有icp许可证,只要你的网站内容正能量,合规,不是hhd,一般来说是没人查的,就像地摊经济,规章是死的,人是活的,摆地摊属于不合规的无证经营,但是很多地方是不管的,因为你卖的东西没有伤天害理,而且是正常的有利于经济发展的东西,但是当你正式有店面了,就需要办理营业执照等。论坛网站只要你的内容是正能量,促进社会发展的,小的时候不会有人查,大的时候,就像你有正式店面了,网站做大了,有能力办icp经营许可证了,就需要尽快办理。

所以你没有到一定规模一般不查;查了只要你没有让用户盈利,也是轻微,只会通知关闭相关论坛服务即可,不会罚款;就算罚款也是罚的公司,你账上没钱大不了申请破产(根本就不会这样罚款,除非大人物搞你,这上下是有出入的)。

网站运维
大厂的cdn和对象存储一般是带宽无限(你可以设置,但它可以做到无限),流量收费。而有的小厂代理什么的,有那种无限流量,带宽有限的付费,怕刷流量可以用这种,不过得搞个正规的备案了的服务商,不然有风险。

1-上cdn和对象存储oss/cos等。(记得设置限制和防刷)

存储oss/cos可以设置私用访问,只允许cdn来访问,那么存储流量就不会被刷,但是cdn就遭罪了,不过cdn流量比存储的便宜一点。

2-关闭境外访问,防海外ip的ddos。(注意要在dns层面或者机房层面就禁止,服务器禁止了,cdn没禁,流量费照样起飞)

3-网站备案,备案后有人攻击你,你报警,他得进去。

html
参考:https://blog.anheyu.c/posts/dfb3.html
为什么禁海外ip:
1-大宽度服务器一般是国外ip
2-国外ip抓不到不好查,而国内ipddos,即使是肉鸡,也能溯源查到攻击者的几率更大。
3-我们的站点也不需要让国外访问
3-将所有图片资源压缩替换为webp(可以设置不支持webp的浏览器照样显示原jpg和png(也得压缩)),一般这个功能在oss和cdn中可以设置。

4-服务器和cdn,oss等都上防盗链。

5-一定要定时备份站点!!!防止误操作或者被黑了删数据!!!

6-上redis缓存等。

站点安全
低调做站,一般用户不会攻击的,只有那些it群,吹牛逼的站长群的同行业的人,才大概率攻击你。所以不要在那种地方暴露自己的网站。

在搞站点安全前,一定需要有相关知识,不然杂七杂八的都设置,导致网站访问不了,根本无法排查是哪方面的问题。(比如必须搞清楚,什么是服务器的系统防火墙,什么是nginx/apache防火墙,什么是cdn厂商的防火墙,什么是程序软件层面的防火墙等等)

如果你是wordpress程序,一定要把wp-config.php文件的权限设置为600权限,你设置个用户能访问,人家直接看你数据库账户密码等。

如果是wordpress程序,把xmlrpc.php的访问关了,教程:https://www.wpdaxue.c/what-is-xml-rpc-why-and-how-to-disable-it.html,也可以在cdn防火墙中设置关了。

安装WPS Limit Login防住攻击者爆破,和wps隐藏登录隐藏登录地址。

改wp-config权限为600和 .user.ini 设置为644,.htaccess为644一些其他文件权限。

find /www/wwwroot/ -type f -perm 0777可以用此命令查询路径下777权限文件有哪些

还可以安装一个wordfence安全插件:https://cloud.tencent.c/developer/article/2210599和https://www.1

什么设置修改后台访问端口和地址;后台用户名不要与前台一致;

设置后台登入次数等限制,即使找到后台入口也爆破不开;禁止国外ip访问(dns层面(直接国外ip访问,主机地址解析到127.0.0.1),防火墙层面);

修改ssh连接端口(宝塔-安全-ssh管理;记得服务器防火墙放开新的ssh端口);安装宝塔安全插件防止ssh爆破(fail2ban);隐藏服务器信息,关闭不必要的端口;

https;及时更新系统(yum -y update)和环境;定期扫描木马,不用盗版插件与代码;

禁ping等(对象是服务器,你在宝塔(也可以腾讯云直接防火墙禁ping,有很多种方式,别禁了记不得去哪可以打开)把源服务器设置了禁ping,不代表cdn也禁ping,cdn是另外的服务器);

设置域名禁止转移;宝塔的安全软件全安排上(win系统可以用安全狗);

不需要的端口就关了(比如开了https,80端口就可以关了)

宝塔将网站敏感文件路径设置为加密访问;开启域名禁止转移;设置网站和数据库定时备份任务(记得还要定时下载到本地)等等这些都基操。

windows吃性能,而且没有Linux安全,虽然是可视化界面简单,不过一般选用Linux

渗透
被渗透了黑客会干什么?

一般就是拿你数据库权限,拿数据和挂马。

所谓的挂马,就是黑客通过各种手段,包括SQL注入,网站敏感文件扫描,服务器漏洞,网站程序0day,等各种方法获得网站管理员账号,然后登录网站后台,通过数据库“备份/恢复”或者上传漏洞获得一个webshell。利用获得的webshell修改网站页面的内容,向页面中加入恶意转向代码。也可以直接通过弱口令获得服务器或者网站FTP,然后直接对网站页面直接进行修改。当用户访问被加入恶意代码的页面时,用户就会自动的访问被转向的地址或者下载木马病毒。

措施:

1-网站没有太大的业务价值的时候,装一些waf(比如wp程序就搞个wordfence插件等),每天备份就行,被黑了大不了重装。

2-宝塔面板或者什么权限,全部开双重验证,如宝塔:设置指定地址和端口才能进管理后台,然后还得输入一次页面方法密码,然后输入面伴登录账户密码后,还得手机二次验证。

3-没用的端口全部关了。

4-网站有业务价值后,可以找专业人士渗透测试。(比如“知道创宇”,专业的网络安全服务,为各大厂和各大国家网站提供网络安全服务,https://www.knownsec.c/)

每日措施:

每天备份到本地,网站文件和数据库备份

服务器的定时备份没用的,被渗透了,如果有足够权限,人家备份都给你直接删了,所以还是每天备份本地比较好。

如果被黑了,大不了直接重装所有东西,反正数据每天备份了,都还在,大不了数据漏了,这个没办法的,那么多大厂都漏数据。

备份没用阿?备份的文件木马在里面了,你也不知道是哪个是木马,重装还是中毒的。

那就直接不要那些文件了,如果是wp程序,你每天保存好主体配置文件和导出wp的文章,然后全部重新搭建,最后导入配置和文章即可。

首先,在旧的网站里面,通过后台的设置——导出,仅导出文章;

https://www.z导入导出教程

第二步:创建一个新的网站,在新的网站后台,点击设置,导入,选择导入上一步导出的备份文件;

第三步:将旧网站下面的uplaod文件夹复制到新网站并覆盖;

第四步:安装Media Sync插件,同步一下媒体库文件

https://wor/plugins/media-sync/

教程:https://www.zibll.c/forum-post/27377.html

重装和迁移差不多:

网站迁移https://www.bilibili.c/video/BV1wt411N7Yd/(别瞎搞,里面有注意事项,比如如果要批量改数据库里面的东西,要用换域名小工具(https://www.zibll.c/19369.html),比如子比老唐的,否则直接sql修改会有序列化问题导致修改失败)

注意:除链接内:https:///252.html提到出现问题的注意事项

1-页面出现Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 536870920 bytes) in /www/wwwroot/elonmusk.c/wp-includes/class-wpdb.php on line 1588

解决:这可能是缓存插件间的冲突,把所有涉及缓存的插件和配置删除,然后重新配置;如果是一安装OPcache就出现上述情况或者cpu占用高,那基本上就是php版本和php拓展的OPcache有bug冲突,换个php版本即可。

2-页面中图片出错,图片地址出问题。

解决:查看你的wp中的cos插件等影响图片资源前缀和参数等的东西,保证设置正确。

3-如果你是wordpress程序,迁移后,文件默认权限755,一定要把wp-config.php文件的权限设置为600权限,你设置个用户能访问,人家直接看你数据库账户密码等

改wp-config权限为600和 .user.ini 设置为644,.htaccess为644一些其他文件权限。

1-每天去site:www.你的域名.com去看看搜索引擎的收录,有时他们渗透进来不会改动你的东西,但是会用你的服务器和域名发布一些违规的网页,如果收录了,你的整个站点可能都会被k,所以发现不对的内容一定要及时删除,然后去搜索引擎站长平台把其链接拉入死链。然后排查问题所在,解决不了就重装。

2-防止挂马,自己每天多去访问网站,看看有没有被挂马跳转一些违规站点。

3-每天去看看服务器负载是否正常。

4-因为被黑,黑客会有数据库权限,他可能不大规模搞你,只是给某个账号加钱加积分等,所以每天去看看明细,及时发现异常。

提现一定要谨慎,必须人工审核,因为你数据库可能被黑了,他直接能给自己充vip加钱,每天要注意这些异常

5-只要黑客权限够高,他可以改你的任何内容,所以包括支付,每天去看看自己的收款功能是否正常。

DDos攻击
下面的很繁琐,但是别管其他七里八里的,大部分攻击流量来自海外,禁止海外访问是最重要也是最有效的一步。

所有的措施只是追求一个性价比的防御方式,但是惹到大佬了,肯定防不住,大型攻击只有上高防,不然腾讯云这些大厂的高防硬件服务早破产了。

tip:

1-下载一个最新的恶意ip,然后全部丢到防火墙里面拦截。

2-黑洞:就是机房检测到你的ip在被攻击,直接把你ip停了。

其实ddos流量是打到机房了,造成运营商堵塞,运营商把你ban了

通常这种是level4的ddos,也就是第四层传输层的攻击,通常为udp,tcp,syn等协议攻击

3-ddos就是资源换资源,沾满你的流量带宽(ddos),或者cpu和内存(CC)。

4-cdn所说的盾,就是用户一访问就跳一个滑块验证码等验证用户真实性,用来防cc的。

了解ddos,必须先学习通信协议,http,tcp,udp,dns,ip等等协议。

攻击方式:https://www.bilibili.c/video/BV1Ad4y11744

攻击:https://space.bilibili.c/282616786/

防御:https://www.bilibili.c/video/BV16m4y1a7se/

cc攻击:是web应用层层面的,打的http/https,一般是大量ip与服务器建立了真实连接,不断请求慢接口,让你服务器cpu内存和io等处理不过来,导致网站交互功能(用户登录注册,发评论等)瘫痪;需要用软件防火墙来防御。

cc攻击一般就是level7的ddos,也就是打了应用层。

解决:

最简单:

国内ip:找个好waf如宝塔服务器独立部署的waf;上带盾和人机验证的的cdn,被打就上5s盾和验证;

本地服务器nginxwaf:https://github.c/ADD-SP/ngx_waf/

宝塔独立部署waf:https://www.kancloud.c/kern123/cloudwaf/3198567(面对cdn服务套餐不够高级没有人机验证,或者服务商的cc防御手段不够的时候,我们自己设置一个waf服务器,其实我认为搞这个还不如升级cdn防御套餐)

国外ip:解析到cloudflare的cdn上或者直接禁止国外ip;

cc因为需要真实的连接,所以需要真实的ip,而国内是没那么多肉鸡的,就算有价格也较高,所以禁止国外ip是很有效的防cc措施。当然也可以解析到cloudflare,也能有效防御。

1-设置并发限制。

2-统计每个ip的请求总时长,超过阈值直接拒绝连接。

3-拉黑ip

http洪水攻击

HTTP请求:请求网站的页面或资源,是最常见的HTTP洪水攻击形式。
POST请求:向服务器发送数据,例如填写表单。
HEAD请求:请求网页的头部信息,不返回实际内容,消耗较少的网络带宽进行攻击。
其他类型的HTTP请求,如PUT、DELETE等,根据目标网站的特定功能和漏洞来选择
cdn可以帮源服务器过滤udp和tcp这些四层,但是过滤不住http洪水啊?他连源ip都没有就可以攻击我。

服务器防火墙,cdn防火墙,cdn人机验证盾,禁止国外ip等措施。

其实CC攻击就是伪造正常用户的请求,我们识别区分正常用户和攻击者,再把攻击者拦住或封禁即可,如cdn人机验证盾就是拦住攻击者;除了人机验证盾,单个ip再限制连接请求限制,超过某个阈值再进行人机验证或者直接封禁。

但是攻击者也会去打码,等一系列手段去通过人机验证,你换一种人机验证方式,他也可能更新绕过方法。

你设置限制请求,他就上更多的ip,模拟正常,更精准的慢速请求面向某个慢接口攻击。这就只能分布式和负载均衡什么的源服务器硬抗了,因为cdn也处理不了动态请求。

本质就是资金精力的比拼,但这种明显是有商业竞争行为的恶意攻击,攻击者本身付出的代价也很高。

面对平常攻击,禁国外ip,再使用cloudflare或一个厉害防御的cdn,配合自身防火墙防御(如只允许cdn的ip访问服务器)即可。

注意:

如果你采用国内用户走国内cdn,国外用户走cloudflare,服务器防火墙设置了仅cdn的ip可访问,但在cc攻击测试中,发现资源cpu和内存还是占满了;这不是cloudflare的错,只要你正确设置了规则,它是肯定能防住的。

资源沾满的原因,是你的国内cdn的防cc能力不行,也许你需要升级国内cdn上滑块验证码识别攻击者,才能达到免费cf的效果,但是有这种服务的cdn价格需要大几百一个月。

cloudflare的缺点就是:国内访问速度的问题,可以优选节点等操作,但是还是慢一点。

当你面临大攻击,但是考虑cf访问速度慢,国内的滑块cc防御又贵的情况下,就可以选择20刀一个月的cloudflare,他的防御能力比国内几百的滑块验证码等还强(这里只说了cc,其他防御能力更加强的不是一点半点),而且cloudflarepro可以进一步优化访问速度。

缺点2:这点无法避免,dns解析生效慢,一般情况下几个小时,有的地区需要24-72小时,而且cloudflare是泛播,当你服务器关机一次,可能会换了ip,那么国内访问者就会取不到正确dns,就会卡。(这不是cf的错,而是国内运营商缓存了dns,导致不取最新ip)

最佳:平时国内用户访问解析走国内cdn(设置禁国外,防止国内cdn扛不住国外攻击,国外正常用户走cf访问速度也更快),国外用户访问解析走cloudflare(设置不禁国外);有人攻击了(国内高防cdn扛不住的情况下)就立马直接站点全部套cloudflare,然后禁止国外访问。

ns接入和cname接入区别

ns接入是保护全站所有域名,cname接入一个是保护单个域名。每个子域名需要重新添加

还有接入cloudflare可以有更好的dns层面的ddos防护和解析优化(国内得花钱)

但是ns接入dns生效慢,这个生效慢,慢的是接入cloudflare的dns的那个网站的解析。

ns是将此主机记录的dns解析服务交给另一个网站或者服务去进行dns解析

cname是将主机记录解析到另一个网站

tips:cf流量是无限免费的

不管是ns接入还是cname的方式接入,用一个网站A当跳板接入cloudflare的dns解析,通过回退源等方法,让另一个网站B实现接入cf的cnd和防御后(就是开启了小云朵),那么网站A(解析服务器在cf的那个网站)只能正常使用cf的dns解析,无法再正常使用cf的小云朵功能了(也就是实现加速和防御),不知道为什么会错误。

把网站A的服务器和回退源受到防御和加速的网站B的使用同一个服务器,也没用,也是错误。

刷量攻击

配合ngnix和防御脚本,带宽限制(如一个ip某个时间段最多多少流量)去防御,还有每次把攻击ip记录下来,上黑名单。(四层协议攻击上黑名单是没用的)

解决:

1-上cdn,打不到自己的源服务器。注意:这样的话,攻击者可以刷量攻击,cdn流量会让你破产,所以得设置cdn不缓存,请求回源,然后源服务器设置响应请求的一系列带宽限制,如:一小时内只能走多少流量,因为正常用户用缓存一般也没有影响。(也可以配cdn鉴权)

原理:因为cdn用的方案绝大都是nginx,只有http(s)协议能通过cdn到达源站,其他协议一律在cdn处过滤了。这样四层协议完全无法穿过cdn,什么udp 洪水,udp反射,icmp洪水,syn洪水(直接用假ip来请求,不建立真正的连接,但是通过tcp握手机制达到让我们服务器接收大量无用流量,这个其实本机配置下iptables就能防御)都没用。

cdn可以防ddos,因为带宽打在cdn身上;但cdn防不了cc攻击的,cc攻击如:它是发起请求,去让你的服务器操作数据库,但是cdn是没有数据库功能的,所以这个攻击是源服务器在抗,cdn的waf都是通过限制和过滤恶意请求等间接防御。但是cc可以上人机验证,把http的cc请求拦截审核一次再发给源服务器,可以很好的解决cc攻击。

不要用不正规的cdn厂家服务,你不续费,他可能故意ddos你。

2-买有硬件防火墙的cdn和ip

ddos的udp洪水放大攻击:打的是带宽,UDP是一种无连接的协议,它不需要在发送和接收数据之前建立连接。这使得UDP攻击可以通过发送大量的UDP数据包,占用服务器的带宽,从而导致网络拥塞,影响正常的网络通信。

防止泄露源ip:
源IP泄露了,cdn就只有对正常用户起缓存加速和节省带宽作用了。起不到防御udp等ddos攻击的作用了,因为直接打你源ip就行了,流量不需要通过cdn了,随便几下就打死了。

教程:

https://blog.csdn.n/m0_65336233/article/details/127164933

https://blog.csdn.n/honest_run/article/details/126271477

https://blog.csdn.n/qq_45619909/article/details/128946800

https://www.bilibili.c/video/BV1MX4y177BU/

https://www.bilibili.c/video/BV1vX4y1p7Su/

https://blog.csdn.n/qq_23936389/article/details/106345792

https://zhuanlan.zhihu.c/p/645523750

源ip已经泄露

解决方法:如果已被记录,可以更换源ip,开启c设置好dn后再解析更换后的源ip服务(否则可能换了又被立马记录)

注意:更换源ip不一定要换服务器,每台服务器一般是有更换公网ip名额的。如:腾讯云轻量级服务器实例,有一次免费更换ip的机会,去服务器控制台换就行。

1-网络工具查询:

教程:https://www.beiqiangcha.c/news/6527.html

https://search.censys.io/

https://site.ip138.c/

一般这些网址是24h去扫全世界网站的端口和ip,然后进行记录,即使你套了cdn,你的源ip很有可能已经被记录在这些网站中。

解决方法:更换源ip

2-常规ping查询ip或者那些censys查历史解析ip:https://www.itdog.c/ping/www.elonmusk.cn

一般套了cdn后,ping不出源ip,但也有可能刚加cdn没陆续生效,还是有源ip存在。

历史ip就是你加cdn之前解析到源ip过,那些网站会记录下来

解决方法:一样,换服务器ip然后套cdn,千万不要解析源ip,解析一次可能就被扫描记录了,除非你是高防机器不怕露源。

3-偏远地区访问;或硬刚cdn。

偏远地区访问服务:https://tools.ipip.n/cdn.php

原理:cdn无法覆盖的偏远地区对域名进行访问,一般就会真实ip提供服务,这样就泄露了源ip

原理:直接强行打死cdn(可能性较小),然后回源获取到真实ip。

解决方法:域名解析就根本不要设置源ip提供服务;联系cdn服务商设置cdn打死禁止回源;设置只允许cdn的ip访问源服务器。

4-邮箱地址查源IP

阿里企业邮箱申请不需要企业营业执照什么的,每个人都可以申请的。

教程:https://www.bilibili.c/read/cv11644429/

20r/1w封的资源包邮件有效期半年,也就是0.002r一条邮件,多买更优惠。(有的人开通就送了资源包,就不需要买了)

我们也可以根本不买,因为他每天都送200封,200封用完才消耗我们买的资源包,但是为了保证服务,还是买1w封的吧。

注意有效期,资源包过期了,得续费才能继续发邮箱,不然每日发了免费的200封就不能发了

邮箱控制台:https://dm.console.aliyun.c/和https://billing-cost.console.aliyun.c/

相比于短信服务的平均0.035r/条,便宜了18倍。

原理:如果网站有发送邮箱的功能,那么接收邮箱者,可以查看邮箱原文,找到发送邮箱服务器的ip地址。

解决方法:腾讯和网易都是不隐藏域名源ip的,可以用阿里的企业邮箱帮助转发邮箱进行藏源ip;或者自己用另一台服务器转发邮件(不建议,麻烦要自己写配置等)

5-子域名或其他域名

原理:a.cn和b.cn都挂在源服务器101.1.1.1服务器上,a.cn加了cdn不会暴露源ip,但是b.cn没加cdn还是会暴露。攻击者找到了对应域名和ip间的联系,就会攻击你。

解决方法:把所有域名都加上cdn;或不要同服务器挂载多个域名;或域名间不相互联系,让攻击者无法判断联系

6-TLS证书

原理:https://www.bilibili.c/video/BV1Hu4y147wW/

教程:https://www.cnblogs.c/linuxprobe/p/14932932.html

证书生成站点:https://www.ssleye.c/选择工具箱的测试证书功能;https://www.ssleye.c/ssltool/self_sign.html在这里生成,记得在更多设置中选择sha256以上的加密程度高的算法,如果是sha1算法,保存证书的时候,你的nginx环境可以提醒证书加密程度太弱。如下提醒:

nginx version: nginx/1.27.1
nginx: [emerg] SSL_CTX_use_certificate(“/www/server/panel/vhost/cert/xxxx.com/fullchain.pem”) failed (SSL: error:0A00018E:SSL routines::ca md too weak)
nginx: configuration file /www/server/nginx/conf/nginx.conf test failed

原理:如果你的网站是宝塔搭建,然后你的域名用了https,有ssl证书,如果宝塔没有设置默认站点,那么你的源ip,https://你的源站IP:443这个站点就会复用你的第一个有ssl的域名的ssl证书,那么就用同一个sha256指纹,人家访问你的域名,得到sha256,然后用证书的sha256搜host就能得到ip

原理:就是访问你的网站,然后看域名的ssl证书的sha256指纹,然后去https://censys.c/和https://c/去搜你域名或者证书指纹,找到对应的ip和你的证书指纹一样,那就是源ip。

如果查不到,那就再去dns记录网站,去查询你域名所有的dns记录的ip,一个个去访问https://你的源站IP:443,看看有没有证书可以对上主域名。

虽然是由ip获取域名,但是:

市面上很多工具爬虫24小时不停的抓取扫描IP,这类的工具网站通过无差别HTTP/HTTPS请求所有的IP,并将抓取到的IP地址所对应的网站记录到网站,以至于有些攻击者可以通过这类的网站可以直接查询到网站源站IP,因此在搭建网站的时候一定要做好屏蔽安全工作。

排查是否属于上述问题:通过https://你的源站IP:443,如果可以访问并且浏览器左上角锁的标志中显示了你的域名ssl证书,证书详情内有你的域名信息,那么攻击者就知道这个ip是你的此域名的源ip。

解决:

和不让真实ip接入dns,接入cdn后再开启网站一样,在正式部署网站前就做如下操作(否则已经被扫到了,你再做也无意义):宝塔面板用户可添加一个随意的网站1.1.1.1(域名或者IP随意),然后删除宝塔创建网站默认生成的全部文件,然后为这个随意添加的网站配置一个无效的证书(上方链接为大家提供一个无效的证书使用),配置好证书之后在宝塔面板后台:【网站】-【默认站点】中心选择刚才添加的这个随意的网站作为默认站点。

也可以直接在这个随机添加设置为默认网站的配置文件中,加入80和443端口返回444,如 return 444;

配置如下

server
{
listen 80 default_server;
listen 443 ssl http2 default_server;
server_name 666.com;
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/666.com;
#下面这行return444是后加的
return 444;

……………………}

7-cdn部署后,有历史老资源遗留

用户请求:当用户访问一个使用CDN的网站时,他们首先会与距离最近的CDN边缘节点(Edge Server)建立连接,而不是直接连接到网站的源服务器。
CDN处理:
静态内容:如果请求的是静态内容,而且这个内容已经被缓存在CDN节点上,CDN会直接返回这些内容给用户,无需访问源服务器,如果没有,那么cdn请求源站拿到资源,再转发给用户,用户也拿不到源站ip。
动态内容:对于动态内容的请求(例如用户提交的表单、实时数据更新等),CDN不能直接从缓存中提供内容。这时,CDN会根据配置将请求转发到源服务器。
源服务器处理:源服务器接收到请求后,处理动态内容生成(如数据库查询、页面渲染等),然后将生成的动态内容发送回CDN节点。
CDN响应用户:CDN节点再将源服务器响应的动态内容转发给用户。在某些配置中,CDN也可能缓存这些动态内容的响应,依据特定的规则,如HTTP头部信息中的缓存控制指令。所以用户也拿不到源站IP
但是如果站点有一些资源没被cdn普及到,被攻击者发现了,那么这些资源的请求会直接请求源ip,就暴露了源ip。

8-网站漏洞

原理:攻击者利用网站的漏洞让我们的服务器去攻击者黑客设置的资源,建立连接就暴露了IP

解决方法:这个看情况而定了,解决漏洞即可。

9-源服务器的遗留文件

有的老文件不在cdn范围之内,就可能被攻击者扫到,然后直接建立和源ip的连接。

防御总结:

1-源服务器,如果你是宝塔面板就把能开的优化策略和免费的安全插件都搞起。

2-然后找一个防御ddos和cc的安全脚本安装上,比如基于iptables一类的开源免费脚本,或者宝塔的付费waf(有一个是基于nginx的,有一个是独立服务器部署的waf)(不漏源ip的话,可以不用设置)(如果站点上了cdn,cdn服务商一般也会自带这些的,但是cdn的是cdn的,万一源ip暴露,源服务器的防御脚本也能起一定作用),也可以用nginx免费防火墙,也有防cc功能

3-套个cdn就行了(抵御ddos的四层攻击,国内大厂计量cdn注意七层http刷量,如果是cf那种无限流量就不怕)

4-cc攻击的话,cdn一般会防,还有1,2也都会防。

5-不要泄露源ip

国内ip走值得信任的小厂cdn(大厂计量害怕被刷量攻击),国外IP走cf,万一国内小厂cdn被击落,立马也换cf,再被击落用付费cf。更换期间上静态维护页。

6-cdn禁止回源,还有设置服务器只允许cdn的ip访问,可以最大程度防止cdn被击穿导致源ip泄露

7-一般直接禁止国外访问,实在要访问,把攻击者肉鸡最多的国家禁止访问。

付费cf和免费版区别

https://www.cloudflare-cn.c/plans/

就是速度快一点,缓存和防御的更精细点

XSS和CSRF和SQL注入
XSS攻击主要是通过在公共站点中嵌入非法脚本,当其他用户访问这些页面时,这些脚本会被执行,从而影响用户的操作或窃取用户信息;CSRF攻击则是伪造用户的身份,向目标网站发送请求,这些请求通常与转账、发邮件、购物等操作相关

xss:https://www.bilibili.c/video/BV1Qd4y1k7K4

Cross Site Scripting跨站脚本攻击是恶意用户通过用户的输入框注入恶意脚本到服务器,让e正常用户收到服务器的恶意脚本并执行。(不叫css是因为避免和前端的css重复,就叫了xss)

Cross-site request forgery跨站点请求伪造是伪造用户请求,进行非法操作,比如qq邮箱如果被csrf,那么攻击者就可以冒充你删除你的邮件。

sql注入:https://www.bilibili.com/video/BV1ZR4y1Y745,通俗说:如登入账户,黑客在登入框内插入恶意sql字符,欺骗服务器执行sql,从而达到骗取账户密码和权限等操作。

这些玩意现在都是用框架组件开发的程序,一般很少有这种漏洞,就算有,随便启用一个防火墙也有过滤功能。

dns污染
这种是dns运营商的事情,我们管不着,出问题了我们找它们就行,腾讯云,阿里云什么的。

防护

一般现在用框架开发的程序都很少有这些漏洞,因为本身框架做了安全策略,还有配合waf防火墙,都可以进行有效防护。

sql防范:对用户的输入过滤等。

xss防范:对用户的输入(账户密码,评论等各种input框)做过滤,对输出做转义

csrf防范:使用token(因为有同源策略,其他站点拿不到另一个站点的token);避免get请求;使用验证码等,但是cookie也有同源策略,为什么又被利用了呢?token也会被xss等方式劫持呀?攻防永无尽之,这里只是了解

CDN的选择
别用普通的没有防御的大厂cdn!!!尽量用高防的,否则会被刷量,用普通cdn也用小厂的,被刷价格也只有大厂的十分钟一,我用小厂cdn两小时被刷过10t,就是三百块钱,如果大厂就是三千块,普通cdn你再怎么流量限制都没用的,防不住。

尽量用大厂也得用eo那种带防御的,但是价格较贵,几百块一个月,初期没钱建议找个小厂交朋友的wafcdn

虽然不防御ddos,但是一般上了cdn的网站人家不会打ddos,打也需要一定的量。其次虽然没防住的流量计费,但是他作为一个安全产品是有东西的,不然也没人用了,做好策略是能防住绝大部分的。

那些限制带宽的cdn,是单个节点限制,比如写着限制10m/s,如果有10个节点,就是每个节点都有10m/s,而不是说全国所有节点一起总共去分10m/s,因为他们根本做不到这种流量计算配制。

按理来说节点ip越多,发布地区越广,加速效果越好;

但是ping一些大厂官网会发现他们的ip一般就4-6个,也不多呀?

因为他们的架构不像普通网站,而且他们的一个ip可能能顶你10个ip(也可能一个ip就是一整个机房),他们公司有专门的部署架构。

也可能会任播anycast。了解任播:https://www.bilibili.com/video/BV1894y1U7dz/

对于普通网站来说,还是选择节点多,分布广的CDN服务商较好,当然得实际测试(有的是质量不够数量来凑,也许20个ip的速度还没有10个的快),比如用站长之家去ping。

如果是面向国外用户,秒选免费的cloudflare就行了,通俗说:上了这个cdn,免费的ddos不可能打的死,如果对方买高价付费ddos,你直接买一个cf的付费服务,一样能抗住,而且他攻击的成本比你防御还高很多。

可以国内外用户ip分开部署cdn,国内的部署一个性价比高的厂商,国外就用cf

国内用户访问通过国内cdn,国外用户访问通过cloudflare方法:

1-将要防护的域名的ns交给cloudflare,这样可以全站防护,但是国内用户就无法再使用国内的cdn(因为国外的dns服务商没有多线路解析的功能),而国内用户访问cloudflare也会很慢。(所以不推荐)

2-使用国内多线路解析,国内用户还是国内的cdn,国外用户请求通过cname方式接入cloudflare的cdn(推荐),但是cloudflare的免费套餐,不支持cname接入。

解决办法:https://www.3520.net/free-cargo/2326.html

遇到问题(提示网站重定向多次,无法访问)解决方法:https://www.3520.net/server/2829.html,大概就是把cloudflare内的SSL/TLS改成“完全”(使用服务器自签证书)

cf配置参考:

https://www.imydl.c/wp/16810.html

https://www.imydl.c/wp/17658.html

https://ayw.ink/2460.html

多线路解析还可以分线路,比如电信,联通,移动,教育网,浏览器来源来分开解析,我们可以一个线路上一个国内cdn,原先是一个cdn抗,现在五六个cdn抗,自然防御力强很多。(平时默认开启一个cdn,遇到攻击了再开启多线路解析)

cloudflare优化后,国内访问速度其实还过得去,可以研究下优化和优选节点。

相比于国内高防cdn,cf特别良心了,速度优化还是不够用,可以升级cfpro,20美刀一个月,也比国内高防便宜,防御效果也好,速度pro又可以优化,基本上大差不差。

http刷量

上cdn就有一个坏处,流量得花钱,四层协议的攻击流量费算不到我们头上,但是http刷量攻击流量费就得算我们头上了。

解决:

1-cdn配置限速等配置,不过这些配置一般不够用,还是会被刷一部分钱。

2-直接把cdn的缓存功能关了,然后资源请求放回到本身的真实服务器ip处理,本身服务器再配合nginx和openresty 精细化限速;也就是说只用cdn抗四层攻击;但是这样cdn的缓存功能就没有了。

3-上cloudflare,根本不怕被刷。

4-被打一次及时拉黑ip

cdn到底是怎么配置的?什么原理?

https://www.bilibili.com/video/BV1zM411Z7VC/把这里所有的看完就懂了

这里详细说了cdn架构和解析原理,比如正规cdn在回源前,还会去请求一个中间服务器,中间服务器真没有资源才回源等等。

下图是cdn的一些常见疑问。

如上图提到了cdn的疑问,如加速域名和回源域名可以设置不同的域名,还介绍了dcdn,dcdn其实也不贵,可以有效防止cc攻击,因为它除了很多防止cc的规则外,更重要的是有多种人机验证机制,这些规则按照sec收费,不贵,应该也就百多一个月。

其中cdn选项中可能有websocket加速,tcpudp加速是给那种直播行业比如实时评论等功能用的,我们不需要。

但是,他虽然防御cc很厉害,不过当你遇到ddos攻击,其中肯定包括第四层攻击,阿里云完全有死扛第四层攻击的能力,cdn的第四层攻击流量是不收费的,因为这是基于ip的攻击。只有应用层第七层才能知道攻击的是你的网站,所以收费。但是阿里云不会去死扛第四层攻击,他会根据受攻击cdn的ip和客户中谁的网站突然涌入大量请求(被ddos,其中肯定混合了争对你网站的cc攻击,这个cc攻击动态请求也是过cdn的)等一系列措施,去推导出是谁的域名网站被攻击了,然后将你拉入沙箱,暂时停止你的dcdn服务,除非你购买ddos独立防护。这个防护特别贵,不是一般人买的起的,而且也不是一直防护,一个月只能防护几次而已。

腾讯的scdn和edgeone同理,也具有很好的cc防御,但是不会去抗第四层攻击,但是貌似比阿里云好一点,提供了一些基础的第四层防护带宽,但是他们并不承诺最小防护带宽,通过朋友了解到,这点防护是根本防不住的,随后也会被拉入沙箱,除非买独立ddos防护,这个防护根本买不起,而且需要买很高价格edgeone套餐的企业用户才能接入。

所以我们只能选择小厂的cdn去死扛第四层了,小厂当然没有腾讯云厉害,腾讯云的死扛是真保证每个人的死扛,给每个人都留了死扛的资源,所以很贵,小厂的死扛是很多个人共用这个”死扛资源”,所以别人网站被攻击,可能还会影响到你,但是找个稍微大点的厂买死扛就够用了,目前ddos攻击还不是特别猖狂,多个人同时收到ddos攻击的情况较少,共用死扛资源也够用。

所以小厂cdn可以说防御可用性是80%,价格200一个月,大厂是防御可用性100%但是一个月一万,不是做的特别大,你没必要去花1w去保证站点稳定防御可用性。

其次这些dcdn,edgeone等都防御不住,必须买独立第四层ddos防护,那些平台的大厂cdn产品更别说防护了,它只能提供加速服务,根本没有防护功能,而且流量计费有5小时左右的延迟,有时你被攻击了,只要你还没拉入沙箱,在这五小时内,可能产生大量的第七层cc攻击的流量。(dcdn等就是比普通cdn多了cc防护)

一般大厂都会建立自己的机房和cdn系统等等,这些都是考虑一个长期的成本和效率问题,比如建机房后续资源肯定比买腾讯云阿里云的便宜,但是要花很多资质,时间精力,是否合算呢。就像主播带货为什么自己不去制造商品一样,只有资源整合,利大于弊才会去做。

tips:cdn有防cc规则和人机验证规则,但是这些都作用在”请求“,我们自己的程序前后端也需要做一些防护。cc请求的是登录注册那些接口,所以这些接口都要做人机验证,甚至接入付费的极验人机验证。

除了cdn的死扛防御和cc规则,有时候防不住,漏了一些恶意请求,那么我们源服务器也可以购买一些带ddos防护的源站高防ip,还有买性能配置高的服务器,自然抗攻击强一点。

cdn配置

1-问号后参数处理—-设置带参数/去参数缓存

不处理:默认带问号后参数缓存,带问号后参数回源。
缓存和回源均去除:缓存和回源均去掉问号后的参数(若问号后参数不一致,文件内容一致,则推荐此配置,可减少回源)

如果你的网站是动态的,你需要选择不处理,不然你没设置好,动态请求都可能根本请求不出去,会提示400。

通过当前缓存域名都是静态资源,比如是cos桶的,那就可以勾选忽略参数;如果是网站的话,就不能勾选,或者勾选了你必须设置动态请求那部分不缓存,如:/wp-admin/*.php不缓存

2-缓存策略(html千万不能缓存)

css,js,zip,gzip,tar,7z,bzip2,dmg,gz,tif,tif,bmp,mp3,mp4,avi,mpeg,aac,rmvb,mkv,flv,swf,mov,jpg,jpeg,png,bmp,gif,psd,ico,tga,imb,tiff,svg,webp

建议如上的不会改变的静态资源缓存30天即可

如果你是php的动态程序,然后通过php转化为html再下发给用户,那html千万不能存储,因为你html存储了,用户看到的页面直接不变了,何来的动态。而且很容易出现各种问题,比如用户访问网站白屏或者响应文件头content-type出错,网站从html/text变成application/octet-stream就变成下载一个bin文件(bin文件这种情况大概率是cdn下发的时候type类型错了,但是html一般不缓存)。

3-一般缓存状态码只选择200、301、304

200 OK:表示请求成功,并且返回了内容。建议缓存,这是最常缓存的状态码,表示页面或资源正常返回。

301 Moved Permanently:永久重定向。建议缓存,因为它表明资源的URL已永久改变,可以将新的URL缓存下来。

304 Not Modified:表示资源没有被修改。可以缓存,它用于告诉客户端缓存的资源仍然有效,无需重新获取。

4-有没有缓存命中,你可以看cdn后台的日志有没有cache hit的标记,或者f12看请求的响应头X-cache(这个是cdn加的,一般cdn都有这个功能)是不是HIT, server, disk,是则缓存命中了。

scdn推荐

白山,https://baishan.com/ 为各大企业和国家网站提供scdn服务,只服务企业,如果你没有企业可以找一个用此产品的企业,你去开通他们企业账号的子账号。

知道创宇https://www.knownsec.com/为各大企业和国家网站提供scdn服务,比白山更强更贵,还有渗透测试等网安服务,除了scdn,更牛的是它的安全服务。

上海云盾,免费无限流量但是限速5m/s,而且还有滑块可以开。小站完全够用,但是被四层ddos会沙箱。

1-白山和上海云盾https://www.yundun.com/webscdn-buy(这些都是面向公司scdn较贵,体验版也不够用)

2-腾讯云eo(大厂,这个算是最稳的,产品正式运营盈利,子比官方就是这个,价格也能接受100-几百一个月,但是被大量ddos可能拉沙箱,但是一般遇不到那么大规模的攻击)

3-级级盾和雨云和酷盾和图灵(比eo便宜,但是毕竟小厂,可能不稳定),其中图灵云很便宜,但是后面scdn关了,只有普通cdn了

4-不知名小厂(基本是融合cdn,也就是融合的各大厂cdn),和图灵云一样,价格便宜质量也不错,但可能突然停止运营叫你迁移,看你能不能遇到找到这种了。

5-cloudflare,免费硬抗,但是就是国内访问慢,可以应急。

价格:12345逐渐递减,服务器也同样,服务器还有一个亚洲云在3梯队。

cloudflared的配置和接入和优选

接入教程:https://www.imydl.c/wzjs/16711.html和https://ayw2460.html和https://www.3520.t/free-cargo/2326.html

优选教程:https://cloud.tencent.c/developer/article/2437958

优选节点ip:https://api.uouin.com/cloudflare.html和https://cf.vvhan.com/

优选节点每15分钟自动切换:https://blog.csdn.net/qq1345659844/article/details/141605565(如果你是被攻击了再用,平时国内不用cf,可以没必要搞自动切换,被攻击了自己优选几个ip挂上就行。再怎么优选也比国内cdn慢的,它主要强在防御)

注意:接入一个只能保护一个域名或者说只能保护一个服务,因为一个zone的回退源是固定的,你大概率不可能两个不同域名不同服务,是一样的源。比如你接入一个域名,只能保护其域名下的服务,或者通过cname的方式保护域名外的一个服务,但是你没法保护两个服务,如同时保护两个源站,因为接入一个域名只能配置一个源,两个源站的服务不同,源自然是不同的(都是网站,而且在同一个服务器的可以),其中一个服务肯定保护不了。需要另外再接入一个域名到cf。(这是需要设置自定义主机名中的回退源的情况下(saas接入cf的应用场景:https://www.3520.net/free-cargo/2326.html);如果是cf接入保护cos存储桶:https://www.cnblogs.com/ncphoton/p/16950628.html里面没用到回退源,而是用cname的方式回源cos,自然想cname多少个存储桶都可以)

其中配置回退源就得有一个自定义主机名,前面两个虽然和cname方式接入cos是两个不同的东西,但是你的域名即使已经用了回退源和自定义主机名的saas接入了一个网站的防护,就不能cname方式保护cos了,也不能再保护然后其他解析的服务(不开云朵,只要dns可以),会无限重定向,我也不知道具体是为什么,应该是受到了回退源的影响。

tips:自定义主机名中的证书要验证域名所属权才会下发,用http或者txt验证就行了,这个证书也会过期,过期了,点击编辑,然后再选择自定义证书或者cf的证书(需要验证域名归属权),再确定就行了。

cdn注意

1-用大厂服务最好存储桶和cdn用一个厂商的,因为存储桶的流量计费基本是:外网下行流量0.5/g,cdn回源流量0.15/g(买资源包外网0.35,cdn流量0.1)如果是同一个厂商,流量算回源流量就便宜很多。

但是大厂带防御的cdn如scdn很贵,普通cdn又没防御,所以我们用小厂带防御的cdn也正常,那么外网下行流量很贵怎么办?不用担心,你正确配置了cdn,大量流量都是cdn下发了,cos不需要下发什么流量的,基本不到cdn下发流量的十分之一。

2-加入cdn后让网站获取显示真实ip,而不是cdn的ip

宝塔付费防火墙是有勾选cdn功能的,勾选后会自动识别真实ip

如果不起效果,可以看cdn带的客户端真实用户ip放在哪个请求头中,然后配置nginx获取即可。

或者在nginx配置中,在 keepalive_timeout xx;下一行加入

​ set_real_ip_from 0.0.0.0/0;
​ real_ip_header X-Forwarded-For;

这个可以让网站日志中的ip从cdnip变成真实ip

3-大厂按量计费基本上带宽无限,小厂就算按量计费,肯定比按带宽限制快,但是基本上带宽也有瓶颈。

cdn防住被刷:

原先说的是防住cc可以用cdn和waf挡住,那么cdn怎么防住被刷呢,攻击者低请求数,但是一直下载大文件怎么办?

1-设置请求数限制和人机验证等,(但是请求限制一般防不住慢速刷流量,攻击者就用20个ip,手动人机验证,正常qps请求24小时刷你也没办法。)

2-针对符合请求限制的刷流量,我们可以设置每个请求的单IP最大并发连接数,单连接带宽限制,单请求最大尺寸等。

针对攻击者通过刷大文件的流量来消耗 CDN 资源的情况,这类攻击被称为CDN 带宽滥用攻击。虽然不需要大量的请求,攻击者可以通过持续请求大文件(如视频、图像等)来消耗带宽,导致高昂的 CDN 流量费用或资源枯竭。为防范这种攻击,以下几种方法可以帮助缓解和应对:

下述方法是要相互配合的:

首先确定估计好正常用户访问时,需要的速率和请求数等数据,我们再怎么限制,阈值必须要在正常用户所需资源之上,超过阈值配置waf上人机验证,超过很多的话,就看日志有无异常ip,给他封禁。

访问频率和带宽限制
带宽速率限制(Bandwidth Rate Limiting):设置对单个 IP 地址的带宽上限,防止某一用户或IP地址过度消耗带宽资源。即使用户请求大文件,也无法超出限制的带宽。

总请求数和文件大小限制:限制某个时间窗口内同一 IP 或账号的请求数,或限制下载文件的大小。如果一个 IP 地址短时间内请求过大的文件,可以触发警告或阻止其进一步下载。

按需加载(Lazy Loading)或范围请求(Range Request)
按需加载:将大文件分段加载,而不是一次性加载整个文件。这样可以根据用户的真实需求逐步加载文件,而攻击者很难通过一次请求占用大量带宽。如:一个大视频50mb,分为10个请求分段获取,然后配合请求限制如五分钟内只准请求200次,正常用户五分钟内最多看两个视频,包括其他请求不可能超过200,而攻击者就算卡200的次数,也最多刷10个视频的流量。(也可以提供waf更精细的设置视频文件等大文件的waf规则去限制和人机验证)

Range 请求限制:攻击者可能会利用 range 请求来分段下载大文件,从而规避一些速率限制。通过限制或优化 range 请求的行为,可以防止攻击者滥用这种机制。

启用防火墙(WAF)和DDoS防护
Web 应用防火墙(WAF):通过 WAF 规则,可以检测到恶意的流量模式(如特定 IP 持续请求大文件)并进行阻断。

CDN DDoS 防护:一些 CDN 服务提供内置的 DDoS 防护功能,能够自动识别异常的大流量请求并进行过滤。这种防护可以应对大流量攻击,减少带宽消耗。

用户认证和授权
基于用户的限流:要求用户在下载大文件前通过认证,确保只有授权用户才能访问特定文件。对于非认证用户可以限制访问权限或速率,减少滥用的可能。

动态令牌(Token-Based Authentication):要求用户在每次下载时提供有效的动态令牌(Token),该令牌具有时间限制,并与下载请求绑定,防止攻击者通过简单的文件 URL 来进行滥用。

缓存管理和策略优化
缓存控制:使用合适的缓存策略来控制 CDN 如何缓存文件。例如,对于攻击者可能滥用的大文件,可以设置缓存过期时间较短,或者减少缓存频率,这样可以减少攻击者通过CDN缓存来增加流量消耗的机会。

用户特定缓存:根据用户的身份或IP地址生成不同的缓存内容,防止攻击者反复请求同一个缓存对象。

流量监控和分析
实时流量监控:通过监控工具(如 CDN 自带的流量监控或第三方工具)实时分析流量模式,检测到异常流量时可以迅速采取措施,例如限制特定 IP 或 URL 的带宽使用。

异常模式检测:利用机器学习算法或规则引擎,自动检测异常的流量模式,例如某个文件的请求量突然增加,或某个IP地址消耗的带宽异常大。这种检测可以帮助及时响应潜在的攻击行为。

分布式文件存储优化
CDN 分片(Sharding):通过将大文件分片并分布在不同的 CDN 节点上,攻击者无法通过一次性请求占用大量带宽,同时能够在正常用户使用时优化性能。

CDN 存储层限制:对特定文件类型、大小进行精细化管理,避免攻击者通过大量请求单一大文件占用资源。

8-用户平时不需要请求的或者只有特定时间访问的大文件,开启鉴权。

除了上述措施,再加上一个好点的cdn的智能防护,自带waf和智能cc一般就防cc和自动防刷cdn流量,基本够用了。没必要做太精细,各种接口和文件都通过waf来限制等等,做过了,那就不是未雨绸缪而是杞人忧天。

除非专业人士打你,仔细分析了你的网站,如果这样对面就是付费攻击,你网站自然也盈利了,你也请个专业的人来防御就行了。

但是不怕一万就怕万一,大厂就算是scdn带防御的也得十分注意设置,因为小厂流量便宜,大厂贵,小厂被刷了还能跑路。

没钱流量低用高防低带宽wafcdn;没钱流量高用普通大带宽cdn(用小厂的,无论大厂小厂普通cdn被刷量根本没办法,只能认栽)发现普通cdn被攻击了立马换回高防低带宽cdn或者用cloudflare;有钱有流量就用高防大带宽wafcdn。

cos存储桶
大厂的存储桶和cdn你再怎么防御,总有攻击大佬能破的,为了防止一夜破产,最好别用,用了一定要设置封顶和流量限制等,如果存储通cos你没用腾讯的cdn去保护(因为腾讯云的高防cdn很贵),而是用的其他高防死扛cdn,那么只有这个cdn能保护cos(其余的什么cos防御,设置referer什么的都没用);

按理来说除了cdn提供商,其他人是不知道你的源存储通链接的,但是就是有大佬能搞到,万一被抓源存储桶的情况下就没办法去很好的限制cos速率,就更加要把各种告警都打开,比如微信,邮箱,电话告警都打开,被告警了直接关了服务,防止被刷。

官方告警设置链接:https://console.cloud.tencent.com/monitor/alarm/policy/detail/policy-hivhx5ef?content=policydetail

把cos存储通中的文件,在cdn中勾选全部缓存,尽量被刷流量也是刷小厂cdn的。

腾讯云cos防刷终极方法:通过函数自己去监控cos流量,流量超过阈值就关闭服务,这个是腾讯云cos自己没有的功能https://cloud.tencent.com/developer/article/2258668(如果你有cdn的话,按理说静态资源都被cdn下发了,所以阈值可以调小点。)

函数服务控制台:https://console.cloud.tencent.com/scf/list?rid=4&ns=default

tip:存储服务是没办法停止的,你只有设置为私有访问或者删了所有数据。

注意:这里也只是防住你被刷流量,被刷钱,就算攻击者卡住那个最低阈值一直刷一晚上,你也被刷不了多少钱。但是攻击者一攻击你就停止cos图片服务吗?显然这样是不行的,

如果设置了cdn和waf,cos还是被刷,就得分情况了,如果对面有能力抓原存储桶链接,那么就得及时找到他是怎么找到的原存储链接,然后修复,然后换个存储桶。如果换了还没用,就继续修复,如果无法及时修复,没钱就只能上cf去保护或者用cf的存储桶,有钱就上腾讯云的edgeone的cdn(几百块一个月)去保护,而且要仔细设置防护策略(没防住的https流量也计费的,功能强大但是得我们自己仔细配置),然后设置私有鉴权访问(私有鉴权访问,那么就漏源了也刷不了,必须通过edge

one才能到cos)(不要用腾讯云的普通cdn,他有能力找你源存储通链接,绕过你个普通cdn毫无压力,到时cos和cdn双重被刷。)

如果是没有找到你源存储通链接,而是过了你小厂cdn的防刷和cc策略,那就找个更好的小厂cdn即可。

注意:腾讯云和阿里云的存储桶,比如腾讯云的,你用了edgeone后要配置自定义cdn加速域名和私有鉴权。而不要自定义存储桶源站域名,那玩意没有任何作用,可能还会导致源存储通被泄露。

存储服务最好和源服务器是同一地区,可以让网站更快,最好服务商也相同,可以节省一点流量。

价格区间:2024.3一年1T的腾讯cos,首单优化我只花了120

计费:流量费+存储费

tips:存储通最好要和网站一样每天备份到本地电脑(产生流量费用)或者进行版本控制(产生容量费用),虽然大厂存储被黑的几率很小。

如何防刷:

1-防盗链,跨域访问cors设置(形式化设置一下,有人想攻击的话,防盗链什么Referer都可以伪造的)

2-千万不要把桶名暴露,要自定义配置一个域名去代替桶名。

腾讯云提供了两种方式。如下的方法1和2,两种方式用其中一个就行了,另一个不需要也用不了,因为cname会冲突,除非你是想配置两个自定义访问的子域名。

2.1-自定义源站域名:比如你设置个pic.xxx.com,然后你在xxx.com的dns上配置好主机记录为pic,cname记录值为cos原始访问链接就行了。(必须设置共有读)

这样只是隐藏了你的cos的原始存储桶链接,因为是共有读,如果黑客通过某个方法知道了你的cos存储桶原链接,可以一直请求刷你的原链接。而且其实没点用,人家就算不知道你的原始存储桶链接,直接刷你这个自定义源站链接是一样的。

这里的没用只指防御作用,它的用处实现域名访问还是有的,想要防护,就得设置其他的高防wafcdn,然后源站设置为自定义域名如pic.xxx.com(不用这个,就直接设置为存储桶原链接);其实用存储桶原链接就行了,你配置个子域名再接入wafcdn去防护完全多此一举,相对于多cname了一次,而且子域名pic.xxx.com存在本身没有防护的,被攻击者扫描出子域名,就把cdn绕过了。

但是它又是必须设置的,cos中的自定义域名必须设置,否则wafcdn中设置的加速域名根本无法回源,因为cos根本不认可那个域名的回源;也就是说cos中的自定义域名必须设置,但是可以不根据它的要求去真的配置自定义域名前缀的dns解析值为源存储桶链接,而是将解析值设置为wafcdn分配的cname值,然后wafcdn的源站配置为源存储通链接。而且如果你是国内存储通,设置的自定义域名还必须是备案域名。

2.2-自定义cdn加速域名:配置加速域名为pic.xxx.com(前缀随便你设置的,反正就是用来以后提供这个链接访问cos内资源),然后腾讯云会分配加速域名pic的cname主机记录值,一般就是<域名>.cdn.dnsv1.com,然后他会在腾讯的cdn控制台自动为你设置源站为cos的原始访问链接。(设置私有读,私有读比较安全,但是必须用腾讯云的cdn,因为腾讯云他的cdn和cos之间后台设置了鉴权机制,相对于cdn每次访问都带了一个密码去访问,所以可以取到资源,其他人访问的话没有密码权限,无论怎么请求都是404,有cos原桶链接都没用)

其实和方法1一样的原理,但是就是加了个cdn,让无法直接刷cos,而是先刷cdn,而cdn又有cc防护,达到保护cos的目的。

2.3-当你站点用的不是腾讯云的cdn,因为腾讯云的cdn是不死扛第四层ddos的,所以我们基本上会接入小厂cdn去防御攻击,那么我们用方法1就行了,自定义源站的域名和我们的小厂cdn的加速域名一致就行了,比如都设置pic.xxx.com,然后小厂cdn中配置回源为cos原存储桶链接即可。这样小厂cdn照样可以保护我们的cos不被刷量,因为用户每次访问图片,都是通过pic.xxx.com,他是先请求了cdn,cdn没有图片才会请求我们的存储桶。

防御原理和腾讯云cdn方法2一样,但是差了一点,因为小厂cdn和腾讯云cos之间没法去相互配合设置后台鉴权,设置腾讯的授权策略让小厂cdn访问很麻烦,所以无法开启私有访问,那么当你存储桶原请求链接暴露了,攻击者就可以跳过cdn去请求你的cos,就被刷了。所以千万别告诉别人你的存储桶原链接,还有不要去用方法1,方法一就是脱裤子放屁根本没用,要么你就直接用方法2或者3,否则会暴露你的存储桶原链接。

腾讯云和阿里云那个cos存储桶或oss存储桶的回源鉴权都是只能用其自己的cdn才可以,如果用存储通外的第三方公司的cdn,就只能通过CDN域名+COS签名的方式访问。

如果需要实现设置cos私有访问,然后允许第三方cdn 回源到腾讯云的COS,且不用手动带签名,那么友商需要支持S3源站配置,如果不支持那就不行,必须手动携带COS签名进行回源

cos签名就是用你cos所属账户的权限去生成一个签名,第三方cdn每次访问cos资源都要加上这个签名去访问。

签名文档:https://cloud.tencent.com/document/product/436/30442

签名工具:https://cos.cloud.tencent.com/tools/cos?tab=sign

回源鉴权和鉴权配置文档:https://cloud.tencent.com/document/product/436/18424

tip:每个具体资源,比如https://cdn.xxx.com/1.png都得单独设置签名信息,也就说在第三方cdn回源的时候,每个不同资源都要单独设置不同签名,这几乎不可能。

第3种方法的弊端

首先cos是不可能被cc打死的,因为本身cos就只会被刷量,它处理并不是动态请求。如你的cdn没有滑块人机验证等功能,可能防不住第七次的cc攻击,也就是过滤不了所有恶意动态请求,源服务器会被打动态请求宕机。(把国内cdn关了,开cloudflare就行)

注意cloudflare你不是接入他的cdn就行了,你也得百度配点里面的策略,还有被打了手动去开5s盾。

但是因为cos处理的是下载,不是动态请求,而且本身前面就加了一层cdn挡着,尽管这个cdn没有人机验证功能,也会分担流量和请求,所以cos是不会宕机的,遇到cc攻击只会被刷cdn和cos的流量。

如何不被刷流量呢?

1-你就花钱上一个有人机验证滑块验证的详细细分流量限制等防御cc的cdn就行了,而且付费cdn基本上有智能cc,根本不需要自己去配置了,这样cdn流量和cos流量都不会被刷。

2-通过ns将主域名接入cloudflare,这样按理说应该是可以的,但ns接入cf会导致国内dns解析和生效缓慢,所以如果你是一个注重用户体验的产品,不推荐这个,如果你不注重用户体验你直接全站接入cf,存储也用cf的R2存储桶就行了。

cloudflare存储桶r2教程:https://www.iwmyx.cn/bxllcloudflarer2c.html和https://juejin.cn/post/7331584783611281444

如果你用了r2,自然在wordpress中要接入支持上传图片和视频等到r2的插件:https://cn.wordpress.org/plugins/ilab-media-tools/(r2在国内生态不好,用的人少,需要自己去研究了)

3-通过原先提到的中转域名跳板的方式让域名接入cf的方式一样,让cos也通过cname接入cf,这样就不需要ns接入cf了,也不存在dns解析速度的问题了,但是这貌似根本就行不通,我尝试后发现不行。

cos接入cf配置和教程

cf除了保护网站,也是可以保护cos的,但是需要ns接入,不能cname接入,而且cf虽然无限流量,但是速度和带宽肯定不尽人意,不然人人用cf了。所以如果你的网站没有盈利,可以尝试用cf,如果需要用户体验,有盈利,那国内买个99一个月的cdn,防御能力其实和cf差不多了,而且访问快。

cf保护cos的教程:https://www.cnblogs.com/ncphoton/p/16950628.html

虽然教程中是cname到源存储桶链接,但是只要小云朵是打开状态,cf除了提供防护,还会提供缓存。

上述教程是第一次的新存储桶和新域名,如果是原先我们已经为cos配置过cdn,应该怎么改为cf的cdn呢?

如elonmusk.cn的图片资源是放在cos中,然后接入了域名cdn.elonmusk.cn代替存储桶源链接作为访问域名,然后接入wafcdn保护cdn.elonmusk.cn,wordpress里面cos上传插件配置的url图像上传地址也是cdn.elonmusk.cn

我应该怎么改成cloudflare去保护cos呢?

方法一:按照如上教程设置即可,然后把wp的cos上传插件配置的url图像上传地址前缀改为你的新域名。(做完这个,你还需要把数据库内的图片url的老域名全部改为新域名,因为cos插件只影响所有媒体库,你原先的设置和发布的文章是不受影响的)

方法二:把原先的老域名的dns接入cloudflare,那么再按照上述教程设置即可,原先设置的图像上传地址前缀不变(cf的原理就是你网站dns接入了,cf的dns设置页面你把那个云朵标记打开,就可以帮你防护了)

方法三:

1-通过cname接入防护,也就是把cdn.elonmusk,cn的cdn前缀的cname解析的记录值从原先的wafcdn改为接入cloudflare的域名中设置的源站为cos源存储桶链接的那个子域名。其他配置和上述教程一样即可。

(1这种貌似不可行,提示You’ve requested a page on a website (cdn.elonmus.cn) that is on the Cloudflare network. Cloudflare is currently unable to resolve your requested domain (cdn.elonmusk.cn). There are two potential causes of this,其实cdn.xxx.cn没有ns接入cf,而是另一个域名按照教程中接入,但是会出现如上问题)

(应该和源站接入cf,必须域名dns接入cloudflare才可以直接cname接入cf一样,如果dns不在cf中,直接在其他dns解析中用canme重定向到cf中的域名是不行的,只能提供saas回退源自定义域名的方式接入)

(为什么不dns接入cf,以为cf的dns和国内的运营商有点“不太兼容”,国内的大众用户访问的dns服务器在面对cf的dns解析中要慢好几个小时甚至一天,也就是你cf配置了解析,国内用户第一时间识别不到)

2.通过用一个域名跳板sass接入cf,和源站用saas防护一样。参考:https://www.3520.net/free-cargo/2326.html,只是把里面的源服务器ip改成存储桶源链接。(可行)

这里只是思路,不懂dns走向和流量走向,可能看不懂,得先学,不然你就算配置好了,你也不懂为什么,出问题也修不了。

cf能保护cos的,就算遇到麻烦配置不好,那就不保护cos了,转而把图片丢源站下发,cdn保护源站就行了;也可以用cf的存储桶,所以说cf几乎无敌的,适用于中小站点,但是你做大做强得考虑国内用户体验和速度就不行了。

套上cf几乎无敌,那些卖攻击的人,自己网站都套的cf加一个宝塔付费防火墙

4-接入多个cdn,没用的,因为cdn死扛本来就不会宕机,问题出在没用滑块验证,被刷流量,你接入无数个cdn一样会被刷

5-cos中一般都是静态资源,所以我们要在cdn中禁止请求cos中资源的请求url中带参数,防住cdn判断无此资源,直接回源,从而导致cos被刷。也可以不禁止参数,但是在cdn的缓存功能中设置忽略用户参数(有的cdn没有这功能,看情况吧)。

6-套两层cdn,第一层是死扛第四层的cdn但是没用滑块验证,第二层套上海云盾cdn,不死抗但是有滑块验证,这样就又能死扛又能防止cc了。首先上海云盾有速率限制,但是按道理确实可以用,不过免费的cnd的waf终究效果不好,而且操作起来很麻烦,两层cdn速度也慢了,还不如直接接入cf。

如果说先第一层接入cf,第二层国内cdn,也是愚蠢至极,这还不如直接接入cf。cdn虽然可以套娃,但是何不用带waf的就行了,而花双倍流量双倍路径和时间?

所以只有方法1可行,搞个有人机验证的cdn就行了,如果实在不想搞,那被cc攻击了,动态请求的防护就通过关闭国内cdn开启cloudflare解决,防止源站被动态请求打宕机。cos的防护没办法的,但是不会被打死,只会被刷流量(加速cos的国内cdn不要关,还可以为cos分担流量)

买死扛的带有人机验证的cdn,cdn和cos防刷都解决

或者牺牲一点速度,动态防御用cf和宝塔自带的nginx免费防火墙,cos就让它刷,如果刷的钱少于买人机验证的钱,就让他刷,牺牲一点动态请求的速度而已。如果超过了人机验证的钱,就买人机验证,速度和防刷都解决。

或者牺牲速度全站接入cf

三个方法可以保证可用性

(这三种方法都是cdn层面,你服务器层面也可以配合免费waf防cc,服务器层面防住不了刷cdn和cos,但是可以保护源服务器)

1-买死扛和带cc人机验证的cdn;
2-买死扛不带人机验证cdn,cdncos流量让他刷;根本成本来决定1还是2
3-牺牲速度,全部接入cf,存储桶也用cf的

其实宝塔专业版也有人机验证,但是只是防止源站被cc击落,不防cdn和cos被刷。

平时和小学生攻击的话

第四层攻击:平时随便挂个死扛cdn就行。第七层攻击:设置宝塔nginx免费防火墙60s内请求同一个url多少次就封,然后开个增强模式宝塔nginx防火墙的人机验证等和禁国外ip完全够用了。cos和cdn刷量:配置自定义域名,cdn保护cos不暴露源存储桶域名即可(下面的cos防刷有提到),存储桶也可以用函数监控,五分钟到达某个峰值就停止服务,以防万一,但小学生一般没资源去刷量。

其实宝塔自带的nginx付费防火墙(一般被攻击的时候速率限制60s30次,正常用户也能保证访问)(没钱买你去找一下宝塔开心版,有纯免费的如bt.sy和bt.sb,也有tb上他们破解后加入自己授权机制卖的,但是破解版小心后门,需要找那种用户量大的,因为各大牛都分析了,就大概逻没有后门,但是还是有风险不建议使用嘿嘿)还可以,但是如果你是轻量云等一些配置低带宽低的服务器,还是防不住攻击的,因为虽然它把带宽拦截了,但是如果你用了cdn,那么所有恶意请求其实通过了第四层到了第七次的nginx才被拦截(因为第四层看的是实际请求ip,你给攻击者封ip没用,他的请求其实是通过cnd的ip代理的),其实已经建立了连接,只是建立后返回了4xx的请求,攻击者请求多,你拒绝也得占用资源,还有建立了连接也有ssl握手,也得产生流量,这些流量在宝塔监控面板不显示,但是是存在的;所以即使拦截,你的服务器也顶不住,所以最好是带waf防火墙的cdn在前面顶。

有点水平的攻击:

第四层:死扛cdn就行。第七层:开启cf,设置宝塔nginx免费防火墙和cf的策略和五秒盾。cos和cdn刷量:cdn保护cos,一般cc攻击也刷不了量,都是打请求。如果被刷,刷的少就随缘,刷的多就买带人机验证的cdn去保护cos,或者买个高防被打秒解高带宽高存储的机子,直接不用cdn和cos。kuai

面对厉害一点的cc,宝塔的防御人机验证无效,因为服务器不行,虽然攻击者需要验证,但是因为请求太多看,验证的页面的流量带宽等资源输出你的服务器都顶不住,验证页面根本都出不来,所以还得是在cdn层面开人机验证。

cf可以优化优选节点,让国内访问更快,但是再快肯定也没有国内cdn快

高手付费攻击:没钱就全部接入cf死扛,存储桶也用cf的,访问速度慢而已。有钱就上更好的死扛高防cdn人机验证waf套餐(还可以上定制的人机验证更稳)去保护网站和cos,源站上带waf的高防高配高带宽服务器(比如什么十堰高防)。

上个800g源站高防,再来个单节点全800g高防cdn,定制访问人机验证和各种cc请求人机验证,藏好源ip,我不信有人能压你。

最牛逼攻击:这种攻击基本上,我们个人站长自己运维是处理不过来的,他会有专人去找你网站的各种漏洞,比如cc攻击也是盯着那种耗资源最多的接口攻击,然后你有防火墙策略,他有绕过策略,你人机验证,他也写脚本实现自动化等等,你不是专业的,自己根本不可能防住。遇到这种攻击说明你体量很大,也有钱,这种就找知道创宇等这种专业网络安全公司,几万一年包你无忧,建议找熟人,不然溢价很高。

最最牛逼攻击:只要竞争对手花钱,paypal等大厂网站都直接干翻,因为他们会定制攻击,找到你没有防御的疏忽资源区攻击,应对方法还是成立专业团队,找专业公司寻求安全咨询和服务,没有绝对的防御,只能尽量让攻击者的成本比你防御的成本更高。

总的来说:

正常就cdn上个waf,宝塔上个nginx防火墙,禁国外(可以开cloudflare提供国外访问),别漏源ip就行了,有高手抓源,那就上高防源服务器,然后禁止http服务,只给cdn的IP访问服务。

这些还解决不了,基本上遇到人花钱定制安排了,总有疏忽漏洞和不懂的地方,比如单独找什么慢接口耗资源什么的。

这种攻击也是对方花钱了,咱们也花钱找个网安大佬去防就行了

tips:对cc源站来说,又分刷带宽,也分刷动态请求的cpu和内存。

如果是刷动态请求,那么你所有的操作mysql等需要占用资源的请求都加入人机验证即可,然后cdn加入频率限制。

如果是刷带宽,是通过大量请求(请求后就断开)的刷带宽,虽然没有实际的流量持续请求,但是大量请求的ssl握手等就会占用源站带宽,那就加入cdn频率限制即可,到达某个频率就人机验证。

如果是攻击者在卡着频率限制内的,正常的一直占用你的带宽,因为你的cdn已经处理了大量js和css请求,所以你的源站只提供了html的下发和动态请求,所以你可以在源站nginx防火墙等中可以设置低一些的频率限制,如60s内20次,正常用户也不会1分种内请求20次html,也就是访问20次不同页面或者动态请求(如登录)20次。这样就可以缓解带宽压力。

攻击者卡20次的频率,20次html,一次50kb,一分钟1mb,对面ip多了,其实也顶不住,但是ip越多,攻击者成本也很高,人家都花钱打你了,你不得也上更高的带宽配置去防御,或者监控ip的流量情况,如果某个ip一直有规则的刷流量,就给它封了。

其实也不用担心,有cdn死扛第四层也差不多了,因为普通的cc攻击基本上是动态请求,动态请求一般人没法刷量攻击一直刷你流量,因为你封了国外访问,刷量攻击是需要真实ip和我们的ip建立连接的(动态请求同样要真实ip,只是刷量得消耗流量,资源消耗更大,所以一般cc攻击也是动态请求,并不一直刷你流量),因为国内没那么多肉鸡ip和流量攻击你,除非人家花钱攻击你,你值得别人花钱,说明你也有钱,你上更好的防御就行了,他的攻击成本可能比你防御成本还高。

但是动态请求就能把我们服务器打死了,但是这个打死只是cpu等爆满,并不会被服务商比如腾讯云拉入黑洞,攻击结束后十多分钟服务器就恢复了,一般小学生用的免费攻击也就几分钟攻击时间,如果你业务不打,大不了宕机十多分钟,业务大你上人机验证就行了,也不差这点钱。其中也有免费的一直打的cc攻击,但是流量很小,你封个海外ip,然后配点免费的waf,然后小厂cdn也有基本的waf,也能防住。

当你的源ip没有暴露(暴露了可以联系厂家换ip),别人ddos攻击你,其中第四层攻击udp tcp等各种大流量协议都是打的ip,不能直接攻击你的服务器,而是攻击的cdn的节点服务器;基于http协议的cc攻击才是争对你域名动态请求的攻击;大厂cdn给你接入cdn,当你遇到攻击,大厂会根据为你提供的节点ip和被攻击的ip进行一系列对比,从而知道是你的域名网站引来的攻击,如果你没买ddos独立防御,为了保证充足的防御资源,就会把你的网站暂时撤离cdn服务了,不会帮你抗第四层攻击。

而小厂cdn,也许他总共就那么50个节点ip,所有用户公用的,他根本没办法知道是哪个客户的域名被攻击了,可以根据哪个客户网站有大量cc的动态请求初步判断,但是也不能凭这个就乱封不是,所以不会把你拉入沙箱(有的小厂cdn也拉沙箱),他只能用自己的资源去硬抗,这并不代表小厂比大厂好,只是小厂的资源被你们所有用户共享,他赌的就是不会同时多个客户被攻击,当多个客户被攻击,他cdn直接全挂了。

相对于小厂是群防,所有人共享防御,不是个防,所以便宜,万一一个用户被大佬攻击,可能还影响到其他用户。

而知道创宇和白山和网宿这种,节点特别多,一个域名给一百个cdn节点,专门防御的,即使你没买独立ddos防御,一般也不会把你拉入沙箱,因为那么多节点一般流量根本打不动,根本不痛不痒。而且他也不好判断谁被攻击了,但不是说他们比腾讯云阿里云资源多,只是说策略不同。

如果你的站很大,买了普通的人机验证等等防护没用,接入cf也没用,需要保证业务的100%稳定,那就花几万每年买知道创宇和白山那种专业防护就行,上定制人机验证和各种策略,还有渗透防护等各种功能,基本上解决所有网络攻击。

你还可以像宝塔独立waf一样,部署一台独立服务器(注意带宽要大于源服务器,木桶效应)专门中转流量做waf(和反代防御虽然原理不同,但是功能差不多);其次你源服务器也可以购买高防ip服务器,源服务器自带强力waf,其次再防不住流过来一点恶意请求,因为你源服务器本身高防而且资源配置高,所以根本就不怕了。

什么宝塔自带的nginx防火墙,什么开源防火墙,那些防护cc的规则也不是说没用,但是只能防护一些小型cc攻击,大点的攻击还是得人机验证,只是小白刚开始是了解这些防火墙。其次即使waf带有人机验证等或者能防住cc,也建议在cdn层面就把攻击拦住,因为即使源站有waf能防御cc攻击,也消耗源服务器的部分资源不是。

好像客户端还可以请求强制回源?攻击者会不会利用这个绕过cdn?

客户端可能带强制回源请求,那么你设置cdn不听他的要求就行了,照样不回源(普通cdn可能没有这个设置,wafcdn都有的)

其次nginx防火墙和cdn的cc机制都能封攻击者ip。如果攻击者卡正常用户的请求速率门槛打,就无法通过速率识别攻击者,然后就是拼人力和资源了,他卡普通用户的速率,就需要一个正常用户的资源,这个时候我们只能上更好的服务器跟他对拼了,还可以开每一个用户打开网页都需要人机验证(对正常用户可能不友好),那么他就需要人力去人机验证,他的攻击成本就比你防御还高,没有那种傻子。

但是可能有高手定制打你,你总有防御不到的盲区的地方,这个时候你也得花钱找高手,

宝塔的nginx防火墙需要给cdn加上白名单吗?会不会因为cc防护规则,封cdn的ip

注意,你源站服务器上安装的防火墙什么cc策略比如单ip访问url30次就拉黑,这些策略对cc有点点用,不过一定记得要把cdn的所有ip拉入白名单,不然他会把cdn也拉黑,有的cdn节点是智能分配的不是固定的,你可以联系cdn厂家为你提供动态接口获取动态cdn的ip,动态拉入白名单。(如果防火墙没有识别cdn中header以此知道真正请求者的功能,就需要给cdn加上白名单,这样的话所有请求也都会算是cdn在请求,然而cdn又是白名单,那这个防火墙直接失效了,所以一般防火墙都有识别header的功能的)

经过测试niginx防火墙不需要将cdn的ip拉入白名单,因为cdn通常会设置请求头header中的real_ip_header和forward参数,nginx可以从此参数知道真正请求者的ip,虽然请求者的请求是通过cdn请求的,但是这次请求仍然会算是请求者在请求,而不是算cdn的ip在请求,所以即使触发cc防护规则,封的是请求者的ip而不会是cdn的ip。也就是说nginx防火墙通过cdn请求的header知道真正的请求者ip。举一反三即使你给cdn的ip加上白名单,那么请求者通过cdn的ip(在白名单内)频繁请求也会被封的(封请求者,cdn本就不会封,而且它在白名单内,更加不会封)。

那么攻击者会不会伪造自己是cdn,欺骗防火墙,然后伪造header,以达到带入大量恶意流量?

目前我没遇到过,我们配置cdn的时候都上传了证书,应该有验证的,伪造不了,我自己cc攻击测试的时候也没遇到过这种伪造。

服务器自带的firewall防火墙取的是请求者的哪个ip?

我此前设置过移除服务器的http和https服务,也就是说所有人不能访问我的服务器打开我的网站,但是我设置了cdn的白名单在firewall,此时网站是正常访问的,以此可以知道在firewall所有的请求ip就是算的当前实际请求的ip,不会和nginx防火墙一样去看什么header去得到真实请求者的ip。否则如果是去得到真实请求者的ip,我是禁止他们访问的,网站怎么会正常打开呢。

宝塔面板中的网站的日志也是显示当前实际请求ip,不会去分析什么header

cos存储桶配置

1-按照各大厂商的防御机制都配置一下。

2-加入图片压缩,比如图片上传到cos中,自动把图片全部转为webp格式,可以节省流量,用户访问也快。(有的cdn也有自动下发用户为webp格式图片,但是你cos下发给cdn的还是jpg等,不能节省cos流量)

腾讯云cos的图片处理是通过用户访问的时候转化为webp,用户每次访问都得计费,cos存储的还是jpg等。如下方法可以直接把cos内存的就是webp,那么用户直接访问的也是webp,所以收费一次即可。

数据万象,用户上传图片到cos自动存储为webp格式,https://cloud.tenc/document/product/460/46488

看不懂就开工单

注意事项
1-在修改东西之前一定要备份,要清楚的找到自己修改了什么,步骤都要日志记录。

2-nginx防火墙,各种插件防CC,防渗透插件等,cdn防火墙,这些功能的使用要清楚基本原理,否则互相冲突,正常访问都禁止了,你也不知道谁禁的,那就麻烦了。(比如要给cdn的ip加白名单,否则防火墙会拦截。)

比如网站加cdn后,源服务器只和cdn通信,那源服务器上的这些cc的waf其实没用了对吗?,因为其实源服务器是和14个cdn节点在通信,但是这14个节点都加上白名单,也不能限速。

不对,很明显源服务器虽然只和cdn通信,但是源服务器的cc防火墙也能拦截客户端ip(因为cdn会把客户端ip当作参数传给源服务器),兼容的防火墙就能通过参数再去防御(限速封禁ip等)。

3-cdn厂商一定要正规或值得信任,因为接入cdn解析,其实用户访问你域名获取的资源,cdn厂商是可以控制的。

4-设置cdn被打死不回源。(这个不是设置dns里面的,源站ip不提供解析服务,而是cdn的设置让cdn被打死不回源,如果没有设置就联系客服)

5-不要设置什么搜索引擎回源,攻击者可能伪造搜索引擎和蜘蛛等,去获取你的源ip

6-不要让服务器有直接获取外部资源的接口

如果你的网站是xxx.com,你的网站有请求url的接口,如下的url.php,那攻击者调用www./url.php?img=https://www.攻击者的网站.com/1.jpeg

如上你的源服务器就请求了攻击者的资源,攻击者就得到了你的源ip。

子比是没有这种接口的。但是平时安装wordpress插件等,都要认真审查内容代码,防止有后门。

7-在服务器防火墙中设置除了cdn的ip访问,这样就算你的源ip被别人抓到了,也攻击不了你,因为你只给cdn的ip访问提供服务,用户的访问都是通过cdn为媒介的。

被攻击紧急措施
其实找个好点的带人机验证的cdn,面对小学生那些免费攻击,基本上99%稳了。

只是天外有天人外有人,不得不防,如果用的大厂的cos和scdn最好还是了解原理,稳一点做好防刷比较好。

你得理解所有攻击,分析出自己的问题,是漏源站了,还是被cc了,根据情况去防护。

1-如果遇到长时间的ddos,且自己无法解决,为了防止百度等搜索引擎降低seo权重和k站,可以在百度平台提交闭站保护。

2-创建一个静态页面或者通过小飞兔等软件把网站页面以静态的方式都爬取下来;然后挂载在cloudpage或github或者gitee或者vercel上,让用户有静态页面显示,只是不能交互了,(一般有月流量限制),ddos最多刷量,但是刷一个换个号继续部署就行。

这是没钱的学生做法,实际上,保存静态访问很简单,你随便上个cdn,cdn把动态请求关了(比如设置?参数后全部忽略,基本上源站不会被死的,目的相对于全部让cdn去提供服务了,源站只下发一次静态资源给全国各地的cdn节点)

3-平时接入国内cdn线路为默认,接入cf为境外ip服务,当被攻击了,国内没有人机验证的cdn如果防不住cc,就全站接入cf,也就是说国内cdn直接关了,把cf全站接入,禁止国外访问,源站只允许cdn访问。如果需要国内高速访问就花钱接入国内带有滑块验证等人机验证的的cdn。

源站把http和https关了,只准cdn节点访问其实没啥用,因为如果对面没你源ip,你开不开无所谓,都是cdn在服务,就算cdn被打死回源,然后你虽然没有http/s服务,但是ip攻击者照样获取了,直接用其他ddos攻击其他协议打死你就行了。

tips:同一个主机记录,比如主机记录为www,类型为cname,可以设置多个不同的记录值的,线路也可以一样,也就是说可以同时接入多个cdn,dns系统一般会选择最好的一个cdn节点为用户提供服务。

这个只是分担第四层流量,第七次的请求攻击,如果这些cdn没cc策略,你接入一万个都是一样会c到你源服务器。

4-如果源站泄露,找到泄露点修复(比如ssl证书泄露),再更换源ip

5-禁止国外访问,封国外

禁国外是在服务器防火墙层面设置,或者nginx层面,也可以叫cdn封国外;但是在dns封国外没用的,比如你设置个线路境外,返回127.0.0.1,这根本没用,因为dns解析是可以改的。攻击者发现回环了,可能自定义dns解析去攻击你。(当然这是攻击者针对攻击你,小学生用tg的机器人攻击你,没这自定义dns解析的功能)

6-源站设置只允许cdn访问,也就是说把cdn的ip全部加入白名单,其他的直接移除http和https访问。

再次提醒,你必须熟悉各应用如dns,cdn,cos,服务器防火墙,nginx防火墙和各自waf防火墙是部署在哪作用于哪的,如你得知道用户访问你的网站,流量的一步一步是怎么走的,如流量到源站肯定先过服务器防火墙再到nginx防火墙等等,否则搞着搞着网站就出问题打不开了或者各种问题。。

再比如宝塔nginx防火墙付费版就有人机验证waf,但是这个是保护源站的,防止不了cdn被刷量,因为不是cdn的waf,如果你不懂流量走的过程的话,就可能会白买。

其次各大平台配置等大同小异,但是可能有点不一样,建议用功能的时候先看文档,如nginx防火墙等防火墙的白名单肯定是白名单成员不受防火墙的策略限制,比如nginx的cc封禁规则不会封白名单ip,其他用户正常访问也不会拦截,只在触发规则后拦截。但是如果是cdn控制台有一个白名单,比如UA白名单和referer白名单,有可能你设置了,就是只能白名单访问,其他访问者直接是拒绝访问。遇到网站大不了,可以看看是被cdn拦截还是服务器拦截,去分析就行。

7-如果你的业务正规,你可以和另一个公司签一个合同什么的金额写100w(如果你公司网站没有价值,叔叔不管),侧面证明你的网站价值100w,封国外访问,然后被攻击了,直接报警和报网安,直接上门抓人。

8-如果你的cdn和cos被刷欠费,你可以去说明情况,争取减免费用或者减免一半或者三分之二的费用。

9-如果你的服务器被打死了,无法解封,你要保证服务,那么你可以直接用备份恢复到其他服务器即可,如果没有备份,如果你是大厂服务器,你可以通过镜像(永远服务器内所有内容和环境)去恢复,大厂封服务器期间也是可以生成镜像的。

10-当源站暴露后,且对面是高手,无法隐藏源站,那就先设置源站防火墙设置只允许cdn访问防御第四层ddos和第七层cc攻击,这样后cc基本上能解决,如果第四层还是顶不住,就换高防源站加强防御ddos第四层。

11-被攻击刷量日志保留当证据,申请费用减免,到时报警抓人也有证据。

12-如果是源站ip漏了导致的服务器宕机或者被定制cc攻击了,cdn和nginx的防cc盾防不住,那可以直接设置网站cdn全缓存,相对于源站不提供服务了,cdn全下发静态页面,保证静态访问,只要cdn不死,网站就能打开。

短信防刷
1-在服务商控制台或者本身程序前后端,限制IP和设备和手机号码上限,这些都是基本操作,应该只是增加攻击成本,对大佬来说基本上没啥用,实现自动刷只是时间问题。(有总比没有好,起码增加了攻击成本和门槛)

2-最后的关键点在于使用一个无法自动识别通过的人机识别交互,比如滑块识别验证码等。接入极验。

传统的验证码识别,现在有打码技术,所以需要选用最新的人机交互识别。只要攻击者必须人工识别验证码,无法自动化攻击,那么他也就不会攻击了,因为他的人工成本比我们还高。

站点优化
1-站点速度分为,解析速度+连接速度+下载速度+重定向所需时间

解析速度:

dns解析,这个没办法,一般麻烦的也够用了,你想更快就得去买付费的dns解析,比如四五十一年的那些,在域名服务商解析控制台那里就可以买。

连接速度:

加入cdn,找个稳的好用的cdn

下载速度:

无论再怎么优化站内文件,也和你的服务器配置带宽,和cdn的带宽,和对象存储的带宽等配置相关。

视频统一无损压缩一次,大视频单独进行m3u8切片处理。

小视频没必要进行m3u8切片处理,因为mp4本身也有类似切片的功能,一段1min的视频,大概会切成5份,每份20s,也够用了;进行切片分成如100份,反而画蛇添足。

图片输出为webp(cdn中一般有,cos中也有,或者wp插件也有,但是作用的地方不同,根据需求选择)

重定向:

一般我们会把主域名,比如通过宝塔网站重定向功能,将baidu.com的访问重定向到www.baidu.com,这样有利于seo。(不要在dns中直接用cname配置@到www,没用,不推荐,至于无所谓我知识有限)除此之外的重定向基本都是多余的,我们根据自身情况去优化。可以去网站itdog.cn去查看自己网站的重定向次数。

2-什么nginx优化配置,比如zstd压缩比设置为6,还有那个配置文件内的详细设置,你如果懂,可以自己参考优化;mysql优化配置,还有服务器swap等都可以百度设置一下。

参考链接:https://w/forum-post/16745.html

3-使用quic协议的http3,让网站速度更快。20240920,这个时间点支持http3的nginx,宝塔官方是没有的(目前好像有了,nginx1.25以上即可),需要自己去nginx官方找,然后通过防火墙命令安装。如果你用了cdn,cdn也得支持和开启http3才行,否则你服务器下发给cdn的是http3协议,但是cdn不支持http3的话,下发给用户的还是通过http1/2协议。

教程:

https://www.xcbtmw.com/30165.html/comment-page-1#comment-9224

https://zhuanlan.zhihu.com/p/687534490

https://zhuji50.html

https://www.xcb7.html

如上教程配置后,如果quic不生效。

1-你的cdn不支持或者没打开http3。

2-大概率是宝塔nginx默认内置安装的openssl为1.1.1导致,需要升级到3.3.1以上,教程如下:https://www.zhanzhangb.cn/tutorials/up-openssl-for-nginx.html(因为bt官方下载的nginx的openssl内置的就是1.1.1你去nginx.sh改成3.3.2然后编译都不生效的,还是会装成1.1.1,所以教程中就是下载了一个3.3.1以上的openssl然后放到服务器本地,然后在nginx.sh中把openssl的编译改成到本地获取文件。最后编译nginx.sh;教程中重新获取了宝塔官方的nginx.sh命名为了zzbnginx.sh,我们可以不这样命名,也可以不重新获取,因为我们的原nginx.sh可能就有你自己配置的其他nginx的模块,重新获取就覆盖了,我们直接在原nginx.sh中修改openssl的文件从服务器本地获取就行了。)

tips:

如果你的静态资源不在服务器本地,而是在腾讯云或者阿里云等的存储通中,那么无法实现h3,因为h3是一种传输协议,如上教程也只是让我们服务器下发资源通过http3协议,当服务器有cdn,那么下发资源给cdn的时候就是通过http3传输;但是我们无法左右腾讯云和阿里云的下发协议,所以无法设置腾讯云存储通下发给用户或者cdn的协议为h3,不过如果你加了cdn去加速存储通,那么可以在cdn平台为具体资源域名添加响应报头(名称:Alt-Svc,值:h3=”:443”; ma=15768000; persist=1)实现cdn下发给客户端的h3传输。

4-加入图片压缩,比如图片上传到cos中,自动把图片全部转为webp格式,可以节省流量,用户访问也快。(有的cdn也有自动下发用户为webp格式图片,但是你cos下发给cdn的还是jpg等,不能节省cos流量)

上传时转化:

方法一:

数据万象,通过数据工作流的方式,检测到cos中有新图片上传过来。自动生成一个webp格式的图,文档:https://cloud.tencment/product/460/46488(工作流你们我们还可以加入水印或者其他操作,自己去研究下文档即可)

工作流中用到的函数也计费的,但是我们是自己上传的图片转换一次就行了,费用基本忽略不计。

缺点:当前我们用的wp插件上传后,用户上传的是jpg,访问链接就是jpg后缀,我们cos中虽然有了webp,d,但是用户前台访问的链接还是jpg的,需要额外配置用户前台访问图片的后缀。

如何配置用户前台访问图片的后缀?如下代码加入到wp主题文件中的funtions.php的末尾即可

//配合cos工作流使用,作用:将新上传的后缀为jpg,jepg,png的图片转化为.webp后缀链接,输出给前台用户<开始>
function modify_image_url_to_webp(KaTeX parse error: Expected '}', got 'EOF' at end of input: ….(jpg|jpeg|png)/i’, $url)) {
// 替换后缀为 .webp
u r l = p r e g r e p l a c e ( ‘ / . ( j p g ∣ j p e g ∣ p n g ) url = preg_replace(‘/.(jpg|jpeg|png) url=pregreplace(/.(jpgjpegpng)/i’, ‘.webp’, $url);
}
return $url;
}
add_filter(‘wp_get_attachment_url’, ‘modify_image_url_to_webp’);
//配合cos工作流使用,作用:将新上传的后缀为jpg,jepg,png的图片转化为.webp后缀链接,输出给前台用户<结束>

如下代码只影响新上传的图片,如果你要所有图片都转为webp,那你得先把存储通内图片文件都转化一次,然后自己去研究一下代码,问gpt就像。

注意工作流输出文件名字KaTeX parse error: Expected group after '_' at position 12: {InputName}_̲{RunId}. e x t 设 置 为 {ext}设置为 ext{InputName}即可,否则用如上方法改了文件后缀,但是文件名称又不同。

优点:只计费一次转化,cos中就存在webp图片,用户前台直接访问webp文件即可。

方法二:

https://cloud.tencent.com/document/product/436/60453如此文档中的“上传时处理”,其实cos中的数据万象提供的服务是支持上传的时候就转化操作图片,然后存入cos中的,但是当前wp的cos插件都不支持,只能自己去写代码写插件,门槛高。

下载时转化:

方法三:1-打开数据万象后,把前台用户的请求图片链接加上如:?imageMogr2/format/webp的参数即可,用户访问的就是webp图片。(现在Wordpress里面的cos插件基本都支持此功能)

优点:简单,用插件开启就行了,不需要自己写代码配置。

缺点:用户每访问一次,都调用了一次转化api,都要计费一次。

如果你只要图片的水印和转化为webp功能,用方法三就行了,因为水印和webp功能属于基础图片处理,不是按次数计费,而是按流量计费,而且每个月送10tb流量,根本用不完。其他的高级图片处理,按照次数付费的那种,就用方法一和二。

方法三,示例图片转为webp和加上水印:

将水印文字内容进行URL安全的Base64编码。例如,”示例水印”编码后的字符串为5L2g5aW977yM5LiW55WM77yB。
将编码后的水印文字添加到请求URL中,如下所示:
1.png?imageMogr2/format/webp&watermark/2/text/5L2g5aW977yM5LiW55WM77yB/fill/IzNEM0QzRA/fontsize/20/dissolve/50/gravity/SouthEast
其中:
watermark/2 表示当前的处理为文字水印。
/text/5L2g5aW977yM5LiW55WM77yB 是编码后的水印文字内容。
/fill/IzNEM0QzRA 表示水印文字颜色,这里使用的是黑色。
/fontsize/20 表示水印文字大小,这里设置为20像素。
/dissolve/50 表示水印透明度,这里设置为50%。
/gravity/SouthEast 表示水印位置为右下角。

其中前面的的?imageMogr2/format/webp是转化为webp的参数,后面是水印参数,用&连接,还有其他需求也用&连接即可。

计费和流量走向:设置用户前台看到的链接就是1.png?imageMogr2/format/webpcos(wp的插件都有这些功能),当用户请求上述链接后,cos先把图片转为webp,要消耗数据万象的基础处理的流量,然后下发给用户客户端,再占用cos下行流量。

计费文档:https://cloud.tenccument/product/460/58117

操作文档:https://cloud.tenocument/product/460/6951

图片基础处理和图片高级压缩默认支持3000QPS,如果您的总请求QPS峰值高于3000,请联系您的商务经理或 提交工单 咨询高QPS的开通及计费事宜。

实际上,用了万象数据的这个功能,用户请求cos的请求中就带参数了,会导致直接回源,攻击者可以利用这个刷cos的流量。所以我们如果要用这个功能,最好固定使用的万象功能,比如水印和转webp,然后设置用户的请求到cdn,忽略参数,cdn回源的时候不忽略参数,这样每张图片cos万象处理一次给cdn缓存后,cdn下发给用户的也是带水印的webp图片。(用了cdn和cos,只要你配置正确,正常来说cos根本不需要花多少流量,主要是cdn的流量)

或者你固定万象功能后,记好参数,如?imageMogr2/format/webp&watermark/2/text/SmluTmlhblguY29t/fill/IzNEM0QzRA/fontsize/20/dissolve/50/gravity/SouthEast,除了这个参数的请求全部禁止,然后这个参数也会被cdn记住下发,那么就不会回源和被刷了。

5-开启pwa功能,也就是用户断网了,还可以通过本地缓存访问网站,而且有提示用户安装浏览器的你的网站应用的功能。你是WP程序就直接插件搜PWA for WP 作者:Magazine3 |

6-大视频通过切片m3u8格式,或者直接设置用户上传视频大小,或者中小视频给用户提供一个在线视频压缩网站(没办法通过cos压缩,视频压缩太占性能了,cos不通过,以后提供了也很贵,我们服务器去压缩更加不可能)

7-缩略图,如用户上传了一张2000x1000(3mb)的图片当作头像,而缩略图就是那个自动把2000x1000变成200x100(30kb)大小图片当作头像的功能;亦或者文章详情内图片2000x1000,那么文章外简介图片肯定尺寸要小很多,这个时候缩略图就会自动裁剪到对应尺寸显示;那么用户和我们都能节省流量。

上述的wp插件设置数据万象加水印和转化为webp,一般作用在用户上传的那一张图片(具体看设置吧),是不作用于缩略图的,缩略图是你自己程序或者wordpress的后续的相应设置生成的。

当你的缩略图不生效,比如用户上传了一张2000x1000(3mb)的图片1.png当作头像,在页面显示头像肯定是会照样缩放的,但是请求的图片不是1.png_200x100,而是原图2000x1000那张,就浪费了流量,你可以开启php的拓展imagemagic试试能不能恢复。

8-如果你站点中不同页面用到了不同的域名或不同域名资源,那可以用dns-prefetch提前解析dns,教程https://www.zibll.com/forum-post/19199.html

9-如下博主的方法不错,1和3和4我都开启了,建议先开br压缩后开quic

tips:quic协议基于udp,需要把服务器和宝塔防火墙等中的udp的443端口放行

http3检测网站https://http3ch和https://htt.net/

https://www.xc0167.html总教程

1-宝塔面板卸载原Nginx编译Brotli压缩(挺好的,我们去抖音官网看,发现也打开了br压缩,很多技术要不要开启,可以去参考大厂,它是用于代替gzip的,压缩的是html和js和css)

2-WordPress网站宝塔面板开启HSTS预加载

3-WordPress网站Linux服务器宝塔面板开启BBR加速

4-开启quichttps://www.xc30165.html/comment-page-1#comment-9224

注意博主应该是centos系统,如果你是ubuntu系统,命令不同,需要自己问gpt等。如开启bbr,ubuntu系统为:

加载 BBR 模块:

none
sudo modprobe tcp_bbr
将 BBR 添加到系统模块加载列表:

none
echo “tcp_bbr” | sudo tee /etc/modules-load.d/bbr.conf
启用 BBR 拥塞控制算法:

none
sudo sysctl -w net.ipv4.tcp_congestion_control=bbr
验证是否启用了 BBR:

none
sysctl net.ipv4.tcp_congestion_control
如果输出显示 net.ipv4.tcp_congestion_control = bbr,那么 BBR 已成功启用。

证书部署问题
tips:证书下发的dns记录设置,证书下发后就可以删除的。

1-如果是宝塔看到或服务器明确配置了新证书,但是用户访问就是原先过期的老证书,很可能是用的cdn服务商的证书没更新,需要联系cdn服务商。

2-现在大厂的免费证书都是三个月,而且只保护单域名,虽然每年可以申请二十张,但对子域名多的人来说,属实麻烦,其实有很多地方可以申请免费的三个月通配符证书。

https://www.shangy/article/19577653.html

https://zhuanlan.z/p/704965374

https://www.j/server/315990lvl.htm

开发常见问题
1-接入qq登录后,我发现百度打开网站qq登录成功后,不跳转回百度,导致登录失败,而其他浏览器可以。

这是因为,大多数浏览器支持 OAuth 回调机制,所以可以正常回调到原浏览器登录,而我用的是百度极速版,它没做兼容,这也没办法,但是一般所有正式浏览器都是支持 OAuth 回调机制的。

2-php和mysql必须编译安装,否则容易出错。(编译安装mysq都得2g内存往上的服务器,如果你就2g,最好先编译安装了mysql再安装其他软件,防止内存不够编译安装mysql)

3-当你换了服务器ip,你原先用到的各方面配置,比如微信的公众号服务里面有一个ip白名单,也得改成你的新ip(平时最好把这些都记住,哪些要改)

微信公众号验证码功能和自动回复等开发功能详情:

但是如果你换了ip还是功能不起作用,或者提交开发者配置信息,提示:请求错误请稍后重试;可以去看看是不是网站有cdn或者防火墙的日志,应该是把微信的请求拦截了。没有拦截的情况下微信会发出如下路径的请求。 /oauth/weixingzh/callback

亚洲 中国 上海】 175.24.214.222 - - [23/Sep/2024:11:21:56 +0800] "POST /oauth/weixingzh/callback?signature=aa237c3fe6b88cc15eed8b489485aefe7efc049e&timestamp=1727061716&nonce=1422432825&openid=oFGSd6B5Kuf5jELoJdRdVX0N5pyU HTTP/1.1" 200 480 "-" "Mozilla/4.0"

流程:用户在公众号发送信息:用户发送文本:验证码——-微信接收到用户信息,下发请求给你设置的域名回调地址——–你的回调地址服务器接收到请求,回应请求内容(当前服务器必须是微信设置的白名单内)——–微信接收到信息,将内容在公众号聊天框内发送给用户。

4-qq登录后的回调页面,和易支付的支付后回调页面,提示页面不可访问和不存在,但是防火墙和cdn等没有拦截。

去看看防盗链加上qq.com和支付域名试试。

大家都知道cos的防盗链功能是防止在网站内盗用图片。

但是cdn中的referer,网站本身就是一个文件,cdn存储了静态文件,文件也会被盗用,所以cdn的防盗链可能把文件的下发也拦截。

5-当我们使用宝塔,里面部署了多个网站,有的网站开起了https,有的只有http,那么http的网站会默认提示不安全,然后跳转到https那个网站。解决方法:网站—高级设置—–开启HTTPS防窜站。

6-腾讯云的存储通的referer防盗链,你设置*.xxx.com为白名单,是不包括主域名xxx.com为白名单的,所以你注意的话,可能导致被拦截。

7-qq回调页面的referer是xui.ptlogin2.qq.com,所以你白名单是*.qq.com或者qq.com都不生效,你必须填写xui.ptlogin2.qq.com或者三级域名的通配符。

*.qq.com只是一级通配符,只能管一级,比如www.qq.com和dada.qq.com等等,三级和四级等域名如xxx.dasda.qq.com是不包含的。

我建议图片视频等静态资源,放到一个特定的子域名进行cdn加速,可以开启防盗链,因为从你网站访问图片,referer就是你自己的网站主域名,加一个白名单就行了。

但是加速源站主域名中的js和css等,平时cdn也会缓存js和css这些,就不要开启防盗链,因为这个开启后,从百度搜索引擎进来的请求,referer是baidu.com,不加白名单就会拦截,还有各种其他你想不到的搜索引擎,或者上面的qq登录问题和支付回调问题,你不知道哪里会被拦截出问题;而且这些js和css本身别人也不会盗用,如果是攻击者攻击,你加防盗链也没用,人家会伪装referer,所以根本没有开启防盗链的必要。

8-你如果改了源代码比如某个js,不起效果,那可能是因为你的cdn‘缓存了,你需要刷新cdn的那个js的url

杂项
tips:不要把网站密码给别人,你要知道各密码的轻重缓急,如:

优先级一:服务器的ssh密码最重要,有这个密码,可以掌握服务器的所有东西,是系统层的最高权限,所以得安装ssh防爆破软件

优先级二:宝塔的账户密码和独立端口和地址,这个密码可以修改你部署所有网站的任何东西,是软件层的权限。

优先级三:数据库密码,这个可以修改你的程序的各用户密码,如果你是wp程序,他就能登录你的程序后台。

优先级四:wp等程序管理员密码,此可以登录你的程序后台对你的某个网站进行修改。

优先级五:优先级五中的某些密码重要程度媲美优先级一,各种配置密码,比如百度内容审核的密钥,和阿里云等的访问控制权限密钥(非常重要),这些一般会记录在wp程序后台中,上述任何密码被被他人窃取进入,优先级五的这些配置密码也得修改。

遇到问题不要急

方向比努力重要,遇到bug和预期之外的错误不要着急,要逐步分析,而不是乱搞。

比如当一个插件功能失效,然后搭建的另一个环境使用这个插件是正常的,那么就思考这个插件大概是做什么的,会被什么影响,然后两个环境一个失效一个正常,环境有哪些区别呢?然后有计划条理的去分析和调试。

当所有的检查都没问题,如果你是插件功能问题,可能是插件php版本不兼容。有的插件要求8.0以上有的需要8.0以下,只能联系作者兼容语法。(php大版本更新,语法会有些许变化,所有可以导致站点错误或功能失效)

1-阿里云企业邮箱是可以批量发送信息给客户的,百度教程即可,但是能发没用,容易垃圾箱,像不垃圾箱可能得另外给保护费。

2-百度竞价排名(https://e.baidu.com/)和快排,竞价排名是百度官方的,也就是花钱买广告就给你排第一位,快排是黑帽seo用蜘蛛池什么的(小旋风蜘蛛池一类或者模拟点击各种等等),让你的网站排到搜索引擎前面,被百度算法发现,可能会被k站。

主要看你网站有没有人访问,如果访问的人多,买个快排让用户更好的搜到是可以的,后续有用户数据支撑,百度会维持你的排名,如果快排到前面,没用户点击,一旦不买快排了,又会掉下去。

3-官方支付,APP,小程序,网站等等接口都是不一样的,要分别申请,QQ互联登录等也是一样

4-申请微信pc扫码登录的时候,认证微信开放平台的企业号要先打钱过去,完成了退钱,个人认证简单点,这个不是认证里面的开发者资质,开发者资质要账号通过了再另外认证,另外花300,然后才可以微信扫码登录。

QQ互联登录简单一点,个人注册,然后个人开发者认证也可以用,企业的应该多一些功能。

还有一个微信公众号登录,扫码关注公众号自动登录(和微信pc扫码登录不是一个东西),记住如果网站换了服务器,公众号登录里面要把新的服务器ip加入白名单

反正看文档就行了,一步一步来,有公司的就申请公司的。还有人用聚合登录,也就是自己不需要申请,用的别人的接口登录,别人会申请所有平台,qq,wx,alipay,微博,抖音,xiaomi,谷歌,facebook,github等等各种,你接入他的聚合登录,这些就可以直接用。自己能申请就申请,这些东西掌握在别人手里没必要。

5-seo名词

IP:指独立IP数。即IP地址,一个电脑可能一天换多个IP。

UV:Unique Visitor 指独立访客,即访问您网站的一台电脑客户端为一个访客;每天网站的独立访问,一个IP下可以有多个电脑,那么这多台电脑的独立访问就算是多次的uv。

PV:指页面浏览量,所有的页面被浏览的总次数,一个页面被刷下后PV就会增加1次。

6-搜狗基本上凉了,如果长时间不收录网站,可以搜狗发邮箱

7-购买了一个厂家的服务器,尽量dcdn和存储桶等服务也在同一个厂家购买,方便配置也可以节省些许流量,因为同厂商某些产品都在一个内网,数据交流不要钱。

8-CORS 白名单主要用于控制跨域请求,允许特定域的客户端访问服务器的资源,适用于API和动态交互。
Referer 头更常用于静态资源的引用控制,例如限制其他网站直接引用你的图片或文件。

9-腾讯云阿里云这些大厂凌晨都有客服,有问题去问就行。

10-重装和迁移差不多:

网站迁移https://www.bilib/video/BV1wt411N7Yd/(别瞎搞,里面有注意事项,比如如果要批量改数据库里面的东西,要用换域名小工具(https://www.zi/19369.html),比如子比老唐的,否则直接sql直接修改会有序列化问题导致修改失败)

如果只是换服务器,而且都是同大厂服务器,可以直接镜像迁移,前提保证系统环境等一致,但是可能会出现兼容性和稳定的问题,有时间还是重新安装系统软件等比较好。

11-cdnfly和flexcdn和goedge都是cdn系统,就像卖云服务的都用智慧魔方系统搭建网站一样,cdnfly是卖cdn的人搭建cdn管理系统的。

https://doc.cd/gongnengjieshao.html

12-宝塔面板地址是分大小写的,有时候面板打不开,看一下地址是不是大小写错了

13-有时候你换了解析,ping还是有之前的ip,那是因为cdn的缓存

14-宝塔防火墙和一类cdn防火墙,那种人机验证,都有他们自定义的页面,里面有产品引流,我们可以自己去改了。这只是一个html一样的东西改了没如何影响,防火墙的实际操作比如限流操作是在.lua文件内设置的。

15-我们有时候设置ip地址白名单,发现设置了不起作用,有可能是你的ip变化了,我们的wifi等ipv4地址,前三位一般不变,但是第四位是经常动态分配的。

所以我们可以设置ip段,如111.234.445.1/24或者111.234.45.1——111.234.45.255的形式添加白名单

16-有的机房和cdn自称动态BGP,通俗来说就是他有这个,能让网络更快更稳定。

17-云服务器:能动态提升改变配置和加流量,分布式架构,一台物理机子出问题,他可以调其他的资源来弥补;

买服务器等不一定要大厂,但是买的厂家必须有公司和相关资质,小厂家为了利润经常超开超开,比如vps100g的母机只能开50台2g,有的厂商超开到60台,那就相当于实际每个人是跑不满的,只是把其他人没用的资源分配给其他用户使用。

18-百度的内容审核接口,用户上传图片,图片先通过你程序设置的密钥上传到百度,百度返回是否通过,通过则再进入cos。

19-源ip开启就是在提供访问服务的,不设置dns,只是让攻击者不知道源ip,所以无法攻击,但是攻击者溯源到了ip,就可以直接攻击了。

可以在服务器防火墙层面设置只允许cdn节点访问,对方拿到你的源ip也没办法对你进行第四层ddos攻击,那么攻击就只能通过cdn的ip进来,进行第七次的cc的形式攻击,而cdn也有cc防护,所以第七层也攻击不了。

20-远程连接服务器

不一定需要xshell等,电脑打开cmd控制台或者git bash等控制台都可以,然后输入以下命令:ssh username@server_ip_address,其中username是您的用户名,server_ip_address是您的云服务器的IP地址。

注意:ubuntu的默认用户是ubuntu不是root

21-安装宝塔后,可以下载一个宝塔app绑定手机。

22-cos和oss目前是放不了手机app安装包的,除非那个安装包软件有备案。

23-我们想把安装包放到网盘上,但是大部分网盘不开vip没直链的,不能直接下载,必须跳转网盘网站下载,即使抓取的直链链接,最多一天就失效了。

24-当宝塔面板地址记不得了,进入服务器的root权限,输入命令bt14 等即可查看和操作宝塔面板参数。

25-cdn命中率一般要达到90%以上,否则就是你没设置好缓存策略等,用了存储通cos和cdn,一般存储通流量只有cdn流量的十分之一不到。子比官方用的腾讯云的eo基础班,每个月500gcdn流量基本够用了。

26-网站套壳打包为APP

方法一:利用uniapp将网站打包(套壳)app
https://www.zibll.com/forum-post/29402.html?ref=26762

优点:可定制能力高,用户退出后,保留了网站数据,下一次进入,登录状态等还在。

缺点:就算只套壳,也有13mb左右

方法二:利用那种一键转app的工具箱,如一个木寒工具箱

优点:体积小,1m内

缺点:可定制能力低,虽然我们套壳也不需要定制能力,但其不能保留用户登录状态,app一退所有数据没了

共同缺点:没法使用原先网站的qq登录互联功能,因为qq网站应用的登录后回调的是一个我们的网站,所以不会回到我们的app内的webview,通过weview拦截回调也拦不住,而是打开浏览器,所以无法正确登录。(基本没办法解决,不然qq根本就不需要再额外申请app的互联了)

网站生成APP工具汇总https://zhuanlan.om/p/706127154(没有全部测试,按理说也解决不了qq登录问题)

生成桌面端可以用electron(对我们只用来套个链接的来说,复杂冗余了),还可以用pake(简单轻量)

27-腾讯云和阿里云都有cos挂载功能的,宝塔也有配合挂载的软件腾讯云COSFS,如在腾讯云服务器管理页面,有一个对象存储的按钮,点进去可以设置挂载,基于cosfs,将腾讯云对象存储桶挂载到本地,像管理本地文件系统一样管理腾讯云对象存储文件。

宝塔还有各种配合大厂云服务的软件,比如腾讯云dns解析,和腾讯云cdn,方便设置配置的。

28-腾讯云 COS 等wp的插件,里面设置的url前缀和图片处理样式,基本是影响所有图片的,不是说只有新上传的图片才受影响。(媒体库内url直接全部改变,但是已经发布的文章和设置中的链接不会改变)

29-防止搜索恶意留痕https://www.zm/forum-post/28383.html

30-网站不用了不续费了,记得注销备案,不然被其他人注册去,你的备案会保留,其他人违法可能找你。

31-如果cdn缓存了静态文件,那么你修改了js那些静态文件,记得刷新链接缓存。(记得刷新真实请求的链接,有时候带参数也得加上去,分情况的,不懂的话就原链接和真实请求带参的链接都刷新)

32-cdn中或者waf中有自定义页面,一般这个需要好一点的套餐才有,它的意思是在waf生效中,如人机验证页面,允许配置修改为自己的html等信息,如默认提示xxxcdnwaf正在保护站点,你可以自定义为“你自己的公司”正在保护站点。

33-百度进入网站误报风险申诉

1-如下网址申诉https://bom/(有人处理回复)

2-发送邮件说明情况去bsb_help@baidu.com(有人处理回复)

3-https://ziyuan.baidu.com/feedback/list?type=zz站长工具去反馈,一直没人处理。

打人工电话没用,也是叫我们用方法一,百度手机app的客服也没用,说上报技术,也没有下文。

34-wp的Query Monitor插件可以检测页面缓存了多少,每个页面查询了多少mysql,有哪些重复sql等。

你得熟悉知道配置是干嘛的,比如opcache.revalidate_freq=60,这是设置apcache缓存php的检查时间的,你设置个600,等于你改了php文件,十分钟后在客户端才能生效。

nginx,php的opcache和redis等都可以优化配置

35-阿里云的企业邮箱和邮箱推送服务其实是两个不同的东西,邮箱推送服务是不依赖于企业邮箱的账号的,只依赖于域名。邮件推送服务目前也不支持设置头像。(20241009)

36-WP Super Cache和Redis Object Cache的区别

WP Super Cache 和 Redis Object Cache 都是用于提升 WordPress 网站性能的缓存插件,但它们的工作原理、用途和缓存层级不同。以下是它们的主要区别:

  1. 缓存层级
    WP Super Cache:它是一种页面缓存(Page Cache)插件。它会将整个网页的 HTML 代码缓存下来,下次用户访问时直接提供缓存的静态 HTML 页面,减少服务器每次生成动态页面的开销。主要适用于静态内容的网站或不经常变化的页面。
    Redis Object Cache:它是一种对象缓存(Object Cache)插件,缓存的是数据库查询的结果或对象数据。它不会缓存整个网页,而是缓存数据库查询的结果和相关对象,帮助减少 WordPress 对数据库的频繁查询,提高动态内容的处理效率。
  2. 工作原理
    WP Super Cache:
    静态 HTML 缓存:当用户访问页面时,WordPress 生成一个 HTML 页面,WP Super Cache 将这个页面保存为静态文件。当其他用户访问同样的页面时,服务器直接提供这个缓存的静态文件,减少 PHP 和数据库的处理时间。
    适用场景:适用于访客访问量较大的页面,如首页、博客文章页面,尤其对未登录用户的访问非常有效。对于登录用户,通常不缓存,以防止缓存不正确的个性化信息。
    Redis Object Cache:
    数据库查询缓存:Redis Object Cache 缓存的是 WordPress 的对象级数据(如数据库查询结果、API 请求的结果)。这些缓存数据被保存在 Redis 内存中,读取速度非常快,能够有效减少数据库的负担,特别是在复杂查询或动态内容较多的页面上。
    适用场景:适用于需要频繁数据库交互的动态内容页面,尤其是当页面数据经常更新时,Redis Object Cache 可以显著减少数据库的负载。
  3. 缓存内容
    WP Super Cache
    缓存生成的静态 HTML 页面,适合于静态内容或者较少变化的页面。
    对未登录用户的效果最佳,因为它通常不缓存登录用户的页面(登录用户的页面可能包含个性化信息)。
    Redis Object Cache
    缓存数据库查询的结果,缓存的内容是数据库交互的对象和结果集,而不是静态的页面。
    适用于登录和未登录用户,因为它是对象级的缓存,可以加快整个网站的动态生成速度。
  4. 使用场景
    WP Super Cache
    适用于博客、新闻站点、展示型网站等,尤其适合那些不需要频繁更新页面内容的网站。
    对于页面内容更新不频繁、用户互动较少的情况下,页面缓存可以极大提升加载速度。
    Redis Object Cache
    适用于需要频繁数据库查询的网站,或者用户交互频繁的站点,如论坛、电子商务网站、社区网站等。
    对于需要动态生成内容的网站,Redis Object Cache 提高了数据库查询的效率,使页面生成速度加快。
  5. 对动态和静态网站的影响
    WP Super Cache
    更适合静态内容为主的网站,提升用户访问的响应速度,因为它通过减少服务器动态生成页面的次数来提升性能。
    Redis Object Cache
    更适合动态内容网站,减少每次访问对数据库的压力,尤其是在动态内容需要频繁更新的情况下,通过缓存对象数据来优化性能。
  6. 兼容性
    WP Super Cache
    WP Super Cache 会与 Redis Object Cache 共存,但它只会缓存静态页面。可以结合使用 WP Super Cache 缓存未登录用户的页面,而 Redis Object Cache 处理数据库查询和登录用户的数据缓存。
    Redis Object Cache
    Redis Object Cache 通常与动态生成的内容密切相关,可以在 WP Super Cache 没有处理的部分起到作用,比如缓存用户特定的个性化内容。
  7. 性能提升方式
    WP Super Cache:通过减少服务器生成页面的次数,降低 PHP 和数据库的负载,提供缓存的静态页面。
    Redis Object Cache:通过减少数据库查询次数,提升动态数据生成的速度,适用于数据库交互频繁的场景。
    总结:
    WP Super Cache 是一个静态页面缓存插件,适合静态内容较多、访问量较大的网站。它主要减少动态生成页面的次数,提高未登录用户的访问速度。

Redis Object Cache 是一个对象缓存插件,主要通过缓存数据库查询结果,减少对数据库的负担,适合动态内容较多、数据库交互频繁的网站。

还有opcache缓存的php的编译结果,其中什么是缓存的什么,我们必须清楚原理,不要去乱安装,否则可能出现动态页面变静态的情况。

还有cdn缓存,如果你设置了,有时还有pwa缓存(通过service workers实现,在f12中的应用程序可以看到),你得清楚这些东西各自的原理,不然动态请求被缓存了,现在有的cdn配置本就有点不清不楚,各自缓存再叠加,你根本恢复不过来,找不到问题所在。

还有一个缓存是宝塔的堡塔网站加速软件(宝塔加速很实用),这个原理就是缓存,多少秒内,发到源站的请求,把响应缓存,然后就可以减少php渲染html的压力,但是它会造成未登录用户html不更新,一定要去设置好缓存时间。

我突然发现网站,未登录用户,在页面改变后(比如页面有新的评论),刷新一直不更新,cdn也没设置缓存html和php,redis关了也没用,后面找了一天才发现是这个插件导致的,默认缓存是缓存了一小时。一般我们设置3600秒就行了。

登录了的是不缓存的,不登录才缓存,具体规则还可以自己设置,也就是说登录用户每次获取页面数据都是实时的,而不登录用户比如缓存3600s,就是十分钟后才会取到最新数据,一般网站里有文章和帖子,这些没登录的用户一小时的缓存也不影响,比如评论,没登录的人又不能和别人回复评论,实时刷新有什么用呢。(实际中,你设置缓存一小时,有时候因为各种因素,可能十多分钟就取最新数据了)

php程序,用户发起动态请求,到源站就是请求myql拿数据,然后php编译出结果,然后编译结果和数据结合再变成html,然后下发给用户。

1-redis就是缓存mysql内的响应数据,一般程序开发者就写更新,比如用户操作改变了数据的话,redis内的数据就也更新,其作用就是减少了对mysql的访问,速度就变快了。

2-opcache就是缓存php的编译结果,因为你的php程序一般步修改就是不变的。(缓存多久可以改)

3-nginx里面也可以设置缓存规则,一般不是专业的不建议修改

4-堡塔网站加速就是缓存html那些东西,也可以设置图片和css和js和动态post等请求的缓存规则,主要让缓存时间内,用户请求直接下发缓存的html等,而不需要重新去php编译渲染出html,就减轻了cpu的压力。(里面的wordpress规则默认登录不缓存html,不登录会缓存)(这个缓存和supercache缓存原理差不多,都是缓存在服务器)

这个缓存其实还是有用的,我们可以设置一分钟两分钟的缓存能增加很大的并发量;如果不设置缓存的话,做到真正的实时,那么用户每次请求都要服务器去用php生成新的html,压力会巨大(不是优化的问题,当你优化到极限,服务器的性能有限,而你没钱升级配置),用itdog的网站测试50个ip打过来,cpu就100%了。(缓存html的文件流量本身不算什么,html在pwa和堡塔网站加速和cdn中都可以缓存,谁下发都无所谓,主要服务器是渲染出html很消耗cpu)

教程:https://www.bt.cn/bbs/thread-52317-1-1.html

5-pwa缓存,那个是把数据缓存在本地,也就是缓存时间用户刷新根本不发起请求,不仅缓存html,还缓存css,js,图片等各种,有设置网络优先和缓存优先等选项,你可以设置html不缓存(html缓存也不在这设置缓存,虽然pwa是在本地缓存节省流量,但是html的流量下发根本不算什么,在cdn中或者宝塔网站加速中缓存都可以),然后只缓存图片,可以节省带宽,反正图片都不变。(我测试好像图片也没多大用,还可能遇到问题,而且图片本身程序开发者也会设置一定时间的缓存,本来就会缓存,所以尽量不使用,除非你是开发者很懂)

6-wp supercache那些插件缓存是把页面缓存在服务器,用户访问也直接下发html,和堡塔网站加速差不多,你的网站如果是动态的,最好不要用这玩意,这玩意的原理就注定了不可能实现动态,因为直接下发html,数据库数据都没取,怎么可能动态,(redis虽然缓存了,但是能动态,是因为用户每次更新操作数据库,redis都重新取数据了。supercache想动态只能每秒渲染一次所有html?显然不可能做到,这样是负负负优化;数据库变化了就重新渲染一次?也不可以,非常非常难维护,因为你不知道哪些数据对应哪些页面功能。),所以用个堡塔网站加速缓存设置30-60s就行了

如果还卡,或者动态请求特别卡,那就得排查了,比如某个表加载很慢,冗余数据特别多等等,看看wp-options等表里面的数据有没有冗余。

37-宝塔中的nginx软件内的配置和网站中有一个配置文件,都是nginx配置,只是一个争对全局,一个是具体某个网站的nginx配置。

38-主域名xxx.com最好重定向到www.xxx.com,方便维护也有利于seo。可以nginx301永久重定向即可。

我有一次域名迁移后,我没印象配置过重定向,dns没有cname重定向,nginx也没有重定向,cdn也没有,不知道为什么就自己重定向了,但是速度很慢,比正常nginx配置了重定向下载速度和重定向速度慢(速度慢的原因应该就是这个我没配置但是生效的“可能错误的”重定向导致的),不知道怎么导致的,后来我也没找。

后面我自己加了nginx重定向(网站设置-配置文件),配置如下(这种方法是最好的,有的用设置-重定向等方法,不太好)

server
{
listen 80;
listen 443 ssl http2 ;
server_name elonmusk.cn www.elonmusk.cn;

​ if (KaTeX parse error: Expected '}', got 'EOF' at end of input: …www.elonmusk.cnrequest_uri;
​ }
​ index index.php index.html index.htm default.php default.htm default.html;
​ root /www/wwwroot/elonmusk.cn;

其他配置不变,重定向代码是这一段

if (KaTeX parse error: Expected '}', got 'EOF' at end of input: …www.elonmusk.cnrequest_uri;
}

然后就恢复正常重定向和下载速度了。因为我自己在最开始就重定向了,就用不到那个“可能错误的”重定向了,自然也不会被那个“错误的没印象”的重定向拖累速度。

39-即使主域名重定向了,也得加cdn保护,防住泄露源ip

40-备份下载数据库的时候,可以多备份几次,看看大小是否一样。

41-如果你有闲置的电脑,可以把它变成一台服务器。

当你现在家里有宽带,有闲置电脑,你只需要把电脑安装一个ubutun系统,然后光猫打开ipv6,网线插电脑上,然后电脑装宝塔就行了。

然后外面套一层cdn,支持让用户ipv4访问我的电脑(因为你只有ipv6地址,没有ipv4(很难申请),如果用户的设备不支持ipv6的话,将无法访问你的服务,需要支持ipv6功能的cdn去转换)

细节上 路由器还要给主机配置dmz

教程:https://wnluo.com/202405051319.html(里面提到了内网穿透方法可以让用户访问用ipv4访问到我们的电脑服务,但是不稳定)

tips:当我们的电脑变成服务器,那么下发给用户流量的带宽就变成看上行带宽了,而不是我们买宽带的时候的下行带宽。、

42-我们nginx开启了页面压缩,cdn什么的有时候有html和css和js的优化压缩等功能就可以不开了,有时候冲突,导致有的js和css和html可能加载解压什么的出问题。

43-抖音内的全网搜索seo,其实就是头条搜索的seo

44-我们在运维网站中,或许功能或许美化,总会用别人的代码或者wordpress的插件,如下链接可以查杀后门

https://n.shellpub.com/

https://virusscan.jotti.org/zh-CN

45-ipv6现在国家正在逐步普及,如果你用了相关服务,记得把服务器等的防火墙中的端口的ipv6的ip也放行。

46-有时候你用的源码中有一些外部三方官方权威的js和css的,但是他们三方的网站可能禁止了国外访问,如果你要保证访问,可以把这些css和js改到服务器本地。

47-宝塔的一系列服务,比如basicauth账户密码忘记了,面板账户密码忘记了等等,都可以直接去服务器命令中输入bt,然后执行相应数字命令即可。

48-我建议国内高防cdn禁止国外的时候,不要禁止美国,如果你是普通cdn怕刷也可以禁了。因为谷歌搜索引擎的爬虫是美国的,但是当我阿里云解析设置境内解析到国内cdn,境外解析到cloudflare的时候,谷歌爬虫走的dns解析,解析到了国内的cdn,而不是解析到cloudflare,所以禁美国可能导致谷歌爬取失败。

49-SEO排名的话,现在和友链和外链关系不大,但是你可以稍微买点外链。主要是title和keywords和description和H1互相呼应,更新原创内容就行。收录的话可以买点蜘蛛什么的。现在快排百度很少了,都做抖音关键词快排去了(搜索关键词,你的视频出现在前面,然后四五块钱一天)。

50-有时候传到宝塔图片,可能被旋转方向了,可能是元数据某个地方出错了,可以修改文件名称再上传试几次可能会恢复。

51-宝塔都有301重定向功能的,如果你有多个网站想直接重定向到另外的网站,没必要在index等文件内写js去跳转,直接设置宝塔的重定向即可,还可以保留参数重定向。

52-51.la统计大部分人说会跳黄站,还是不要使用。

53-二级域名的证书的cname的dns解析,直接添加给主域名那里就行了

54-如果你的源站是ipv6,只要cdn支持ipv6,照样可以为不支持ipv6的用户提供服务,因为cdn会转为ipv4为用户提供服务。

子比配置

1-子比主题内置的百度审核,只能审核图片和文字,视频的话需要去对应cos或者oss中购买审核服务。

审核服务是cos检测每一个你设置需要审核的内容,比如视频,如果有违规,会自动改为私有访问,也就是只有自己能看到。私有访问后的资源不会被腾讯云巡检的内容审核检测,此违规视频只要是私有访问就可以存放在cos,不会被判定为违规。如果有个别视频没有审核到,被提示违规了,也可以申诉。

百度是上传到cos前,先经过百度审核,通过了再传到cos,图片的话其实也可以不要百度审核,直接给cos审核就行,只是子比开发设置的就是百度,而且百度有免费一年的一些资源送。

但是cos不审核文字

2-子比中用户如果发帖和投稿需要审核的话,重新编辑内容后,需要重新审核,已经审核通过的老内容也会消失,当新内容通过后,才会显示,而且子比后台有不同版本修订的内容。

3-优化的时候,设置了php的opcache,redis拓展和nginx压缩等等,要去设置一下具体配置,问人工智能或者查找,设置一个适合自己的配置。

4-站点中文章和帖子的最后的默认SEO的title,是在wp系统中的设置的站点标题设置的;子比主题内设置的只是主域名生效。

5-当子比中设置了网站的站点图标(也就是浏览器网页标签上显示的),那么wp设置里面的图标就不要设置了,否则会覆盖子比的。两个图标最后只用一个,同时使用wp设置的会覆盖子比,还可能导致bing搜索引擎中不收录网站图标。也可能导致其他搜索引擎收录图标错误,比如谷歌,这两个图标都不收录,反而收录一个错误的图片当图标。

bing不收录图标要么是有干扰,比如两个图标,要么就是站点时间不够,权重不够,只要有shortcuticon标签中有图标,什么名字后缀都可以,和其中图标名字和后缀和路径基本无关,

6-子比的文章标题就是H1标签

7-子比的vip悬浮按钮,已经是vip的人不显示。

8-想吊起续费会员,给元素加pay-vip即可。

9-腾讯ip归属地的接口,https://lbs.qq.com/dev/console/application/mine,其中子比的App Key是填前面网址中的key而不是key名称,然后签名校验:Secret Key是填前面网址里面的编辑按钮中的Secret key( SK )。

注意:创建应用后,还需要分配额度给应用。

教程:https://www.zibll.com/15873.html

10-子比不能在线更新,先把子主题和插件关了,再试试,一般是上述两个冲突导致的,还是不行就看看cdn的回源超时设置为60s,还是不行就手动更新。(注意手动更新的覆盖目录,在线更新是覆盖文件,zibl目录内你自己创建的文件不会被删除,但是手动更新的话,这些文件也会没了)

11-子比是基于wordpress的,wordpress自己就是php开发的,所以其主题一般也是php开发,然后wp还有自己的函数库提供给开发者,用于在php中调用去开发主题等(不是php内置函数库,是wordpress的库,需要引用的)。但是也有少部分不是php开发的主题。

12-百度app中QQ快捷登录,登不上是所有子比用户都是,因为子比登录判断了是不是当前浏览器发起的登录,而百度好像没有正确存储那个信息,所以登录失败。

子比常见问题

1-自定义js中使用window.onload,导致子比弹窗失效,因为:一个页面只能运行有一个window.onload,而子比官方的弹窗功能就是使用的window.onload,所以两个window.onload就导致了弹窗功能被覆盖。然后就一直不弹窗了。

解决办法:使用 ( window.addEventListener(‘load’, function() {})来避免与其他 window.onload 冲突,同时确保代码在页面加载时执行。

教程:https://www.zibll.com/forum-post/32859.html

疑难杂症记录
1.1-起初滑块人机验证失败,而且就是微信内打开链接会提示环境异常,人机验证失败(当有1.2中的登录成功后,再登录也会提示环境异常,应该是微信浏览器框架内缓存了一些登录信息冲突,但是这是我第一次登录,也是人机验证失败),关插件和关cdn缓存和关宝塔加速,和改session记录为redis活着file和改php版本也都没用。 后面把人机验证方式改为极验4.0人机验证又可以了。但是:

1.2-微信打开网站登录成功后,页面刷新,但是登录状态还是未登录状态。插件全关都没用,什么php的session记录不管是redis还是file都没用,cdn关了也没用,宝塔加速软件关了也没用,都关了也都没用。后面把插件和宝塔加速都关了,然后服务器关机十分钟,重启后把插件和宝塔加速软件都打开,又自动恢复了。后续把极验4.0人机验证改成原先的图片滑块人机验证吗,也是正常的。

虽然关机前后插件等环境都没改变,就是重启了一下服务器,但是也可能就是因为原先插件的缓存等一类的东西存在冲突,而禁用插件并没有解决这些缓存等冲突问题,所以在关机重启后,重新初始化了缓存等一系列东西,就恢复正常了。


http://www.kler.cn/a/524427.html

相关文章:

  • Ubuntu介绍、与centos的区别、基于VMware安装Ubuntu Server 22.04、配置远程连接、安装jdk+Tomcat
  • doris:HLL
  • window中80端口被占用问题
  • IO进程寒假作业DAY6
  • 动态规划DP 数字三角型模型 最低通行费用(题目详解+C++代码完整实现)
  • 最长递增——蓝桥杯
  • 解决 pip install 出现 error: subprocess-exited-with-error 错误的方法
  • 小黑日常积累:学习了CROSS APPLY字段,将sqlserver中字段通过分隔符拆分并统计
  • “爱”之浅谈(一)
  • 混合专家模型MoE的全面详解
  • MybatisX插件快速创建项目
  • [C语言日寄] <stdio.h> 头文件功能介绍
  • Go学习:字符、字符串需注意的点
  • MotionLCM 部署笔记
  • 基于最近邻数据进行分类
  • 蓝牙技术在物联网中的应用有哪些
  • xclode版本
  • AI大模型开发原理篇-1:语言模型雏形之N-Gram模型
  • 【Pandas】pandas Series cummax
  • JavaScript_03 超简计算器
  • 深入理解指针(2)
  • Apple M1 ARM MacBook 安装 Apache TVM
  • VScode 插件开发 国际化帮助工具
  • [C语言日寄] 源码、补码、反码介绍
  • 【后端】Flask
  • IDEA常用快捷键