• Nginx优化与防盗链


    Nginx优化与防盗链

    Nginx优化与防盗链

    一、隐藏版本号

    • 可以使用 Fiddler 工具抓取数据包,查看 Nginx版本
    • 也可以在 CentOS 中使用命令 curl -I http://192.168.184.20 显示响应报文首部信息。

    方法一:修改配置文件方式

    image-20220831101221210

    方法二:修改源码文件,重新编译安装

    image-20220831101424446

    image-20220831101444910

    image-20220831101502188

    image-20220831101520855

    二、修改用户与组

    image-20220831101537361

    三、缓存时间

    • 当Nginx将网页数据返回给客户端后,可设置缓存的时间,以方便在日后进行相同内容的请求时直接返回,避免重复请求,加快了访问速度

    • 一般针对静态网页设置,对动态网页不设置缓存时间

      image-20220831101618194

      在Linux系统中,打开火狐浏览器,右击点查看元素
      选择 网络 —> 选择 HTML、WS、其他
      访问 http://192.168.80.10 ,双击200响应消息查看响应头中包含 Cahce-Control:max-age=86400 表示缓存时间是 86400 秒。也就是缓存一天的时间,一天之内浏览器访问这个页面,都是用缓存中的数据,而不需要向 Nginx 服务器重新发出请求,减少了服务器的使用带宽。

    四、日志切割

    image-20220831101641613

    image-20220831101657796

    image-20220831101715078

    小知识

    在linux操作系统中,每个文件都有很多的时间参数,其中有三个比较主要,分别是ctime,atime,mtime
    ctime(status time):

    当修改文件的权限或者属性的时候,就会更新这个时间,ctime并不是create time,更像是change time,
    只有当更新文件的属性或者权限的时候才会更新这个时间,但是更改内容的话是不会更新这个时间。
    atime(accesstime):

    当使用这个文件的时候就会更新这个时间。
    mtime(modification time):

    当修改文件的内容数据的时候,就会更新这个时间,而更改权限或者属性,mtime不会改变,这就是和ctime的区别。

    五、连接超时

    HTTP有一个KeepAlive模式,它告诉web服务器在处理完一个请求后保持这个TCP连接的打开状态。若接收到来自客户端的其它请求,服务端会利用这个未被关闭的连接,而不需要再建立一个连接。
    KeepAlive 在一段时间内保持打开状态,它们会在这段时间内占用资源。占用过多就会影响性能

    image-20220831101740729

    六、更改进程数

    • 在高并发场景,需要启动更多的Nginx进程以保证快速响应,以处理用户的请求,避免造成堵塞

      image-20220831101809621

    image-20220831101829695

    七、配置网页压缩

    Nginx的ngx_http_gzip_module压缩模块提供对文件内容压缩的功能

    允许Nginx服务器将输出内容在发送客户端之前进行压缩,以节约网站带宽,提升用户的访问体验,默认已经安装

    可在配置文件中加入相应的压缩功能参数对压缩性能进行优化

    image-20220831101856486

    image-20220831101913450

    八、配置防盗链

    image-20220831101938100

    image-20220831101955244

    这段正则表达式表示匹配不区分大小写,以.jpg 或.gif 或.swf 结尾的文件;
    valid_referers

    设置信任的网站,可以正常使用图片;
    none

    允许没有http_refer的请求访问资源(根据Referer的定义,它的作用是指示-一个请求是从哪里链接过来的,如果直接在浏览器的地址栏中输入一- 个资源的URL地址,那么这种请求是不会包含Referer 字段的),如http://www. kgc.com/ game.jpg
    我们使用http://www. kgc. com访问显示的图片,可以理解成http://www. kgc.com/game.jpg这个请求是从http://www. kgc . com这个链接过来的。
    blocked

    允许不是http://开头的,不带协议的请求访问资源;
    *.kgc. com

    if语句

    如果链接的来源域名不在valid_referers所列出的列表中,$invalid_referer为true,则执行后面的操作,即进行重写或返回 403 页面

    九、fpm参数优化

    kgc. com

    if语句

    如果链接的来源域名不在valid_referers所列出的列表中,$invalid_referer为true,则执行后面的操作,即进行重写或返回 403 页面

    九、fpm参数优化

    image-20220831102040983

  • 相关阅读:
    快速幂算法
    二叉树的应用 | 幂集递归算法,汉诺塔递归算法,垂直输出二叉树,快速排序递归算法
    SpringMVC之JSON数据返回及异常处理机制
    Docker实战技巧(一):Kubernetes基础操作实战
    裁员趋势下的大厂面试:“字节跳动”
    线程池实现原理
    机器学习实验一:KNN算法,手写数字数据集(使用汉明距离)(2)
    MATLAB | 一种简易的随机曼陀罗图形生成函数
    基于java(ssm)学生在线课程学习系统源码(java毕业设计)
    JavaScript/jQuery功能函数集
  • 原文地址:https://blog.csdn.net/yangchen950104/article/details/126618567