nginx
未读
DDoS(分布式拒绝服务攻击)是一个让很多网站和服务头疼的问题。DDoS 攻击就像是一群不怀好意的人一起堵塞了你的店门,让正常的顾客无法进入。那我们该如何利用 Nginx 来防止这种攻击呢?
一、DDoS 攻击的特点DDoS 攻击通常有以下几个特点:
攻击流量来源于一些固定的 IP 地址,而且每一个 IP 地址会创建比真实用户多得多的连接和请求。
攻击流量全部由机器产生,速率比人类用户高得多。
进行攻击的机器其 User-Agent 头不是标准的值,Referer 头有时也会被设置成能够与攻击关联起来的值。
二、Nginx 防止 DDoS 攻击的方法1.限制请求率
将 Nginx 可接受的入站请求率限制为适合真实用户的值。比如,通过配置让一个真正的用户每两秒钟才能访问一次登录页面。
12345678limit_req_zone $binary_remote_addr zone=one:10m rate=30r/m;server { ... location /loginUser.html { limit_req zone=one; ...
首先来说,这是一篇非常有时间感的文章,大家可以百度一下这篇文章的出处,不知道经过这么多年的发展,帝国CMS有没有在程序上实现这项功能,不过非常有意思的就是,帝国CMS明明是非常好的静态文件网站,但是很多站长还在给我推荐使用帝国CMS的伪静态访问,也就是动态浏览。
如果动态浏览结合这个功能的话那就是非常厉害了。本文实例讲述了帝国cms实现用户访问页面自动生成html的方法。具体分析如下:
原因:对于服务器资源有限但是数据量非常庞大的网站来说,使用帝国cms在批量生成全部文件的时候速度比较慢,更改了一次模板,往往要更新很久。
思路:删除所有HTML—–>利用Nginx匹配未生成的HTML—–>php生成HTML,如果Nginx 检测HTML已经生成,则直接展示,不跳转到php。
说简单些就是利用Nginx进行监听,在Nginx的配置文件中,设置一个location块监听所有以.html结尾的请求,如果请求的文件不存在,就重写URL,指向一个处理页面生成的PHP脚本进行HTML文件生成
NGINX的监听实现代码如下:12345location /{ alias /ho ...
Cloudflare
未读
今天在点滴记忆的博客里发现一篇非常不错的博文,感觉很有意思,也感觉挺有帮助,把它转载过来做一个记录。最近在使用Unsplash的API,但是感觉速度太慢了简直受不了,本来打算搞一台国外服务器来中转,忽然发现可以利用Cloudflare的Worker来制作镜像站,Workers 每天有免费的 10 万次请求,个人使用绰绰有余了,还可以绑定自定义域名。
创建镜像站首先登录cloudflare.com,进入控制台 - Works - 创建服务 - 选择HTTP处理程序
创建完成后,点击快速编辑
拷贝进下方的代码:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 ...
nginx
未读
首先声明一下,上面的封面图来自互联网,每个人准备的404错误页面也都不是相同的,特别是错误页面下面的导航条,代码修改是个人问题。
404错误的根本原因先说一下404错误页面的来源。当服务器无法展示浏览者试图访问的页面时,就会发生404错误。这个错误仅仅是资源消失不见了,服务器没有内容展示但也不会显示空白屏幕,而是显示 404 页面。 大多数WordPress或者zblog主题都带有一个基本的404模板,但这些设计通常是基本且简单。而引发404错误的因素
用户拼写错误:用户可能在输入URL时出现了拼写错误,或者输入了一个不存在的URL。比如,用户可能输入了一个不存在的页面名称或者目录路径,导致服务器无法找到相应的资源。
资源被删除或移动:有时网站管理员可能会删除或者移动某个页面资源,但是用户的浏览器仍然保留着旧的URL。当用户再次尝试访问该页面时,服务器会返回404错误,告诉用户所请求的资源已经不存在。
错误的链接:互联网上的链接可能会存在错误,即指向了一个不存在的资源。当用户点击了这样的链接时,服务器会返回404错误。
服务器配置错误:在某些情况下,服务器的配置可能出现问题 ...
typecho
未读
今天在浏览一个网站的时候,发现一篇挺有意思的文章,就是Typecho博客批量替换文章内链接与图片链接,本来这篇文章并没有太多的技术含量,就是一个利用MySQL的批量替换功能,来实现文章内的链接或者图片的链接,但是有些时候也会使用到typecho博客程序构造网站,纯粹的一个记录吧。
我们先来看文章中包含的图片链接,如OSS原域名:
1blog-196.cos.ap-guangzhou.myqcloud.com
新网站的图片链接地址
1image.blogbig.cn
这样一来的话,就是把旧网址
1blog-196.cos.ap-guangzhou.myqcloud.com
批量替换成为新网站,也就是
1image.blogbig.cn
这个时候,我们需要进入空间的后台管理,然后找到数据库管理
需要使用数据库的管理工具phpmyadmin来修改数据库的内容,在数据库账户内,找到对应的数据库文件后,进入typecho_contents表,也就是Typecho的文章内容表,双击打开之后,找到里面SQL选项,然后输入代码
1UPDATE `typecho_contents` SET ...
很多时候我们都在会在一些大牌网站上看到这个功能,特别是腾讯云的技术论坛,或者csdn的博客页面,在我们跳转到文章中链接的文章地址的时候,会给我们一个非常不错的跳转提示。有人说这个功能没啥用,也有人说会增加网站博客浏览者的心情,可靠,值得信赖,所以想着实现这个跳转提示的功能,幸好看到这篇文章所以记录下来,这是一个给Hexo博客实现给文章中的外部超链接增加一个中间跳转询问页面的插件,这个插件本来是用ai写的代码,写作要求如下
12345671. 在执行hexo -g指令时自动将文章中的非本站合法超链接提取替换出来 为每个合法的链接生成独立的跳转页面 独立页面的地址和链接形成固定的对应关系 不会因为新增文章而发生对应链接改变的问题2. 当用户浏览博客时点击超链接会跳转到一个单独的网页 在这个网页中显示文字和该链接地址并询问用户是否需要跳转到该链接 当用户点击文字下方的跳转按钮则自动跳转到该链接 3. 文章中的链接应该替换成对应已经生成的跳转页面的链接 4. 要求能在`config`文件中自定义需要进行排除的域名 不对排除的域名下的所有链接进行跳转页面的生成 保留原始的直接跳转即可 ...
今天我们来看一下,如何强制Nginx将全站转向WWW和HTTPS,当然了,我们的想法还是非常好的,但是很多时候网站建设受到实际条件的限制,不一定能够实现,所以这篇文章只是简单的做一个记录,仿制以后做网站的时候需要了,还要四处找教程,Nginx是非常优秀的网站环境架构系统,和Apache、IIS一样,非常受网站爱好者或者一些大型网站管理员的青睐,下面先来说一下我们先要实现的目的
起源与一个美好的构想我们先来看一下遇到的困境和想法
1http://example.com --------------> https://www.example.com
1https://example.com -------------> https://www.example.com
1http://www.example.com ----------> https://www.example.com
也就是说,无论是客户端输入什么样子的域名,都需要最终转跳到
1https://www.example.com
当然了, 前提是需要添加ssl证书,和网站支持代码设置。
实际操作起来 ...
我们在使用Hexo博客程序制作博客网站的时候,最难的问题可能就是图片和附件的保存问题,虽然互联网上给出了很多的解决方案,例如腾讯或者阿里云的存储空间来存放图片附件。但是需要注意的是,腾讯或者阿里云的云存储问题,是需要按照流量付费的,甚至上传流量都需要付费,虽然购买的时候价格低一些但是如果流量大或者遇到恶意刷流量,估计小站长们承受不起,所以才想到了物美价廉的虚拟主机,用虚拟主机存放图片,一般感觉比图床要便利很多。
安装所需的Hexo博客插件
如果使用虚拟主机存放图片,就需要ftp上传,我们需要再命令窗口运行如下代码,主要是用来安装一个支持ftp上传的插件
1npm install hexo-deployer-ftpsync --save
从互联网上的教程来看,ftp上传的插件,一般都是使用的这个插件,测试的时候发现很好用,大家尽管安装就可以。插件安装之后,需要在Hexo博客的配置文件之中,也就是博客根目录的_config.yml文件之中,找到如下代码
1234# Deployment## Docs: https://hexo.io/docs/one-command-deploymen ...
website
未读
npm是JavaScript世界的包管理工具,并且是 Node.js平台的默认包管理工具。通过 npm 可以安装、共享、分发代码,管理项目依赖关系。有了npm,可以很快的找到特定服务要使用的包,进行下载、安装以及管理已经安装的包。这两天在使用npm的安装命令安装Hexo的相关功能模块的时候,总不能直接安装模块,类似的提示如下
其实这个
1packages are looking for funding
提示并不是错误,我个人观点是因为发现的文件太多,npm安装器不知道该选择那个,然后把选择权留给使用者。然后我们只需要在命令窗口继续输入
1npm fund
提示窗口会出现
我这个提示框,是今天安装
1hexo-deployer-ftp
同步插件的时候出现的提示,然后在命令窗口之中出现的代码意义,实际上是一些开发者提出的打赏链接,如果有能力的话,还是选择打赏,但是很多朋友看到这个提示页面,认为插件安装就出现问题了,不能够继续安装了,其实我们只需要继续输入代码
1npm install --no-fund
然后就开始进行安装了,等到出现如下提示
插件就安装完成了,可以去he ...
website
未读
Webp图像格式是支持在互联网上无损和有损图像质量压缩的新格式,谷歌公司开发出这种图片格式,只要是方便图片在网上迅速和方便地参与工作。其主要优点是,相对于其他Png和Jpg图像格式,在图像质量相似的情况下,体积要小很多,所以对于图片占用空间比较大的网站来说,高压缩比的不二选择。虽然Webp图像格式很常见,但是有些空间上并没有开放支持功能,需要空间使用者自己独立开发使用。
今天我们来看一下Windows操作系统IIS环境下,如何给虚拟主机添加对Webp图片的支持。大家需要查看一下虚拟主机的面板,找一下是否有MIME设置,如果虚拟主机的面板之中有这个功能项,就可以给自己的虚拟主机添加这种功能,主要思路就是打开这个MIME设置,
然后大家注意下,需要在拓展名的地方,添加如下代码
1.webp
然后在MIME类型里面,填写
1image/webp
然后点击后面的添加就可以,最后的效果如下
设置后,就可以看到对Webp格式的支持了,当然使用虚拟主机的朋友应该是不多了,或者没有MIME类型设置按钮的时候,需要联系空间的技术人员进行修改就可以,当然了,如果对于一般的测试站点儿,完全可以使用 ...
在使用Hexo博客程序的时候,总是避免不了给博客添加一个合理的分类和标签,今天我们就来看一看如何给Hexo博客添加分类和标签,当然了,我们给Hexo博客添加分类和标签,也是使用代码命令来创建的,先来看创建分类选项。
生成“分类”页并添加tpye属性我们在博客所在的文件夹打开命令行,然后在里面执行以下命令
1hexo new page categories
成功之后会给出相对应的提示
1INFO Created: ~/Documents/blog/source/categories/index.md
当然,因为路径的问题,代码提示中INFO Created:的提示路径也不会相同,但是后面的
1/source/categories/index.md
代码内容是相同的,当然了,如果你已经创建过分类页面,会出现
1/source/categories/index-1.md
的信息提示,然后我们进入路径文件,找到里面的index.md文件,打开后默认内容是这样的
1234---title: 文章分类date: 2024-0-27 13:47:40---
或者是
1234---ti ...
empire
未读
帝国CMS的伪静态规则,也就是针对动态网页URL,比如列表动态页面、文章内容动态页面、搜索页面、评论页面、Tags标签页面进行的链接优化,有助于网站在url链接的权重提升,如果我们使用的轻量应用服务器,安装宝塔面板之后,可以很方便的设置伪静态规则,可是对于虚拟主机用户,设置伪静态规则就不是那么简单了,分享出一段代码,希望能够帮助到使用虚拟主机构建帝国CMS网站的朋友实现伪静态。那么如何设置帝国cms的伪静态规则呢
Apache下的.htaccess1234567891011121314151617RewriteEngine OnRewritebase /#信息内容页RewriteCond %{QUERY_STRING} ^(.*)$RewriteRule ^showinfo-([0-9]+)-([0-9]+)-([0-9]+).html$ /e/action/ShowInfo.php?classid=$1&id=$2&page=$3 [NC,L]#信息列表RewriteCond %{QUERY_STRING} ^(.*)$Rew ...
empire
未读
用帝国CMS做了一个网站,主要是对帝国CMS的代码结构不是很少了解,所以陆陆续续一边上网查找代码,一边自己琢磨修改代码的函数文件在哪里,一边还要做一个记录,既可以帮助自己汇总都修改了哪里,还可以帮助和自己水平一样菜的小站长,感觉还是有意义的。今天来分享一个小问题,就是用帝国CMS仿制的网站,点击数总是不变化,我使用的标签为
1[!--onclick--]
因为实在想不明白,就搁浅了,毕竟不影响其他功能。但陆陆续续在网上找了好几天的教程,都说代码肯定是没错的,后来找到一段像样的评论,
原作者并没有直接说代码的问题,而是谈论起帝国CMS的网页两种生成,即静态网页生成浏览和动态网页浏览。
原来帝国CMS的页面点击数的调用代码,是分动态页面和静态页面。
一般情况下,我们使用帝国CMS构建网站,站长朋友都会选择生成静态文件,也就是生成HTML的文档,这样做的好处还是很多的,至少可以缓解流量大了之后页面被浏览时反复读取数据库造成的服务器压力,而且从当前网站优化来看,搜索引擎还是比较喜欢爬行静态网站的目录结构。
这样一来的话,我们的网页点击数调用代码,也就需要分为静态HTML结构的网页调用,和动 ...
empire
未读
帝国CMS其实在内容有调用上一篇和下一篇的链接,但是给出的链接有固定的形式,有些时候我们需要修改帝国CMS上一篇和下一篇的链接形式,而且用不同的样式来显示上一篇和下一篇的调用,这样一来,我们不仅要修改上一篇和下一篇的文章链接样式,还需要有备用的调用方法,来看代码
动态调用上一篇下一篇链接动态调用上一篇链接;
1<a href="[!--news.url--]e/public/GotoNext?classid=[!--classid--]&id=[!--id--]&enews=pre">上一篇</a>
动态调用下一篇链接;
1<a href="[!--news.url--]e/public/GotoNext?classid=[!--classid--]&id=[!--id--]&enews=next">下一篇</a>
运用灵动标签和SQl语句调用上一篇链接:
12345[e:loop={"select id,classid,newspath,f ...