Nginx优化与防盗链

Nginx优化与防盗链

隐藏Nginx版本号,避免安全漏洞泄露

第一种方法:修改配置文件

1.进nginx.conf文件

[root@zzz ~]# cd /usr/local/nginx/conf/
[root@zzz conf]# vim nginx.conf

Nginx优化与防盗链_第1张图片

2.重启服务,验证

[root@zzz conf]# systemctl restart nginx.service 

Nginx优化与防盗链_第2张图片

也能通过命令获取

Nginx优化与防盗链_第3张图片


第二种方法:修改源码法

Nginx优化与防盗链_第4张图片

在这里插入图片描述

Nginx优化与防盗链_第5张图片

make && make install
[root@zzz nginx-1.12.2]# cd /usr/local/nginx/conf/
[root@zzz conf]# vim nginx.conf

在这里插入图片描述

重启服务

systemctl restart nginx

Nginx优化与防盗链_第6张图片


修改Nginx用户与组

修改的方法

第一种:编译安装时指定用户与组

第二种:修改配置文件指定用户与组

Nginx优化与防盗链_第7张图片

Nginx优化与防盗链_第8张图片


配置Nginx网页缓存时间

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

在这里插入图片描述

重启服务

[root@zzz conf]# systemctl restart nginx.service 

Nginx优化与防盗链_第9张图片


实现Nginx的日志切割

编写脚本进行日志切割的思路

  • 设置时间变量
  • 设置保存日志路径
  • 将目前的日志文件进行重命名
  • 重键新日志文件
  • 删除时间过长的日志文件
  • 设置cron任务,定期执行脚本自动进行日志分割

脚本内容如下

Nginx优化与防盗链_第10张图片

在脚本倒数第二行 PID_PATH加上$符号

Nginx优化与防盗链_第11张图片

Nginx优化与防盗链_第12张图片


配置Nginx实现连接超时

为避免同一客户端长时间占用连接,造成资源浪费,可设置相应的连接超时参数,实现控制连接访问时间

超时参数

Keepalive_timeout

设置连接保持超时时间

Client_header_timeout

指定等待客户段发送请求头的超时时间

Client_body_timeout

设置请求体读超时时间

[root@zzz nginx]# cd /usr/local/nginx/conf/
[root@zzz conf]# vim nginx.conf

Nginx优化与防盗链_第13张图片

systemctl restart nginx

Nginx优化与防盗链_第14张图片


更改Nginx运行进程数

默认情况,Nginx的多个进程可能跑在一个CPU上,可以分配不同的进程给不同的CPU处理,充分利用硬件多核多CPU

[root@zzz conf]# vim nginx.conf

Nginx优化与防盗链_第15张图片

[root@zzz conf]# ulimit 10240
[root@zzz conf]# systemctl restart nginx.service 

默认情况,Nginx的多个进程可能跑在一个CPU上,可以分配不同的进程给不同的CPU处理,充分利用硬件多核多CPU

在一台4核物理服务器,进行配置,将进程进行分配

重启服务

[root@zzz conf]# systemctl restart nginx

配置Nginx实现网页压缩功能

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

  • 允许Nginx服务器将输出内容在发送客户端之前进行压缩,以

    约网站带宽,提升用户的访问体验,默认已经安装

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

压缩功能参数
gzip on: 开启gzip压缩输出

gzip_min_length 1k: 设置允许压缩的页面最小字节数

gzip_buffers 4 16k:申请4个单位为16k的内存作为压缩结果流缓存,默认值是申请与原始数据大小相同的内存空间来存储gzip压缩结果

gzip_http_version 1.0: 设置识别http协议版本,默认是1.1,目前大部分浏览器已经支持gzip解压,但处理较慢,也比较消耗服务器CPU资源

gzip_comp_level 2: 指定gzip压缩比,1压缩比最小,处理速度最快;9压缩比最大,传输速度快,但处理速度最慢

gzip_types text/plain:压缩类型,对哪些网页文档启用压缩功能

gzip_vary on:让前端缓存服务器缓存经过gzip压缩的页面

[root@zzz conf]# vim nginx.conf

Nginx优化与防盗链_第16张图片

    gzip  on;
  gzip_min_length 1k;
  gzip_buffers 4 64k;
  gzip_http_version 1.1;
  gzip_comp_level 6;
  gzip_vary on;
  gzip_types text/plain text/javascript application/x-javascript text/css text/xml application/xml application/xml+rss image/jpg image/jpeg image/png image/gif application/x-httpd-php application/javascript application/json;
[root@zzz conf]# systemctl restart nginx.service 
[root@zzz conf]# cd ..
[root@zzz nginx]# cd html/
[root@zzz html]# vim index.html 

Nginx优化与防盗链_第17张图片

打开网页验证

Nginx优化与防盗链_第18张图片


配置Nginx防盗链

[root@zzz html]# cd /usr/local/nginx/conf
[root@zzz conf]# vim nginx.conf

Nginx优化与防盗链_第19张图片

 location ~* \.(jpg|gif|jpeg|swf)$ {
        root html;
        expires 1d;

        valid_referers none blocked *.kgc.com kgc.com;
        if ( $invalid_referer ) {
         rewrite ^/ http://www.kgc.com/error.png;
         }
       }

---------------------------------------------------------------
~* \.(jpg|gif|swf)$ :这段正则表达式表示匹配不区分大小写,以.jpg或.gif或.swf 结尾的文件;

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

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

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

*.kgc.com:只允许来自指定域名的请求访问资源,如 http://www.kgc.com

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

[root@zzz conf]# systemctl restart nginx.service

准备一台盗链机

先安装nginx服务(这里不做演示,有需要看上一章博客)

Nginx优化与防盗链_第20张图片

[root@localhost html]# vim index.html 

Nginx优化与防盗链_第21张图片

开浏览器验证

Nginx优化与防盗链_第22张图片

``

你可能感兴趣的:(nginx,运维,https)