一、版本号
在生产环境中,需要隐藏Nginx的版本号,以避安全漏洞的泄露
查看方法:
- 使用 fiddler工具在Windows客户端查看nginx版本号
- 在Centos系统中使用"curl -l 网址" 命令查看
隐藏版本号
1、查看版本号
[root@localhost html]# curl -I http://192.168.232.159/ 查看版本号
HTTP/1.1 200 OK
Server: nginx/1.12.2 版本号
Date: Mon, 30 Dec 2019 08:43:23 GMT
Content-Type: text/html
Content-Length: 651
Last-Modified: Mon, 30 Dec 2019 08:22:02 GMT
Connection: keep-alive
ETag: "5e09b3aa-28b"
Accept-Ranges: bytes
2、进入:vim /usr/local/nginx/conf/nginx.conf
http { 下面插入
server_tokens off;
3、查看版本号,已经隐藏
[root@localhost html]# curl -I http://192.168.232.159/
HTTP/1.1 200 OK
Server: nginx 已经隐藏版本号
Date: Mon, 30 Dec 2019 08:48:01 GMT
Content-Type: text/html
Content-Length: 651
Last-Modified: Mon, 30 Dec 2019 08:22:02 GMT
Connection: keep-alive
ETag: "5e09b3aa-28b"
Accept-Ranges: bytes
修改版本号
1、进入:vim /usr/local/nginx/conf/nginx.conf
http { 下面插入
server_tokens on;
2、进入:vim /home/nginx-1.12.2/src/core/nginx.h
#define NGINX_VERSION “1.1.111” 修改版本号
3、重新编译
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
#重启
systemctl stop nginx
systemctl start nginx
二、缓存
- 当Nginx将网页数据返回给客户端后,可设置缓存时间,以方便再日后进行相同内容的请求时直接返回,避免重复要求,加快访问速度
- 一般针对静态网页设置,对动态网页不设置缓存时间
- 可在Windows客户端中使用fiidler查看网页缓存时间
1、cd /usr/local/nginx/html/ 里面放入图片
2、vim /usr/local/nginx/conf/nginx.conf
location ~\.(gif|jpeg|jpg|ico|bmp|png)$ {
root html;
expires 1d;
}
systemctl start nginx 重启
3、抓包
三、进程管理
- 在高并发场景,需要启动更多的nginx进程以保证快速响应,以处理用户的请求,避免造成阻塞
1、插入变量
vim /usr/local/nginx/conf/nginx.conf
#插入:配置文件
keepalive_timeout 65 180; 设置客户端超时时间180秒
client_header_timeout 80;
client_body_timeout 80;
重启nginx
2、关机添加处理器2
3、进入:vim /usr/local/nginx/conf/nginx.conf
worker_processes 2;
worker_cpu_affinity 01 10;
重启nginx,worker此时变成两个
四、日志分割
1、创建脚本vim /opt/fenge.sh
编写脚本:
#!/bin/bash
#Filename:fenge.sh
d=$(date -d "-1 day" "+%Y%m%d")
logs_path="/var/log/nginx"
pid_path="/usr/local/nginx/logs/nginx.pid"
[ -d $logs_path ] || mkdir -p $logs_path
mv /usr/local/nginx/logs/access.log ${logs_path}/test.com-access.log-$d
kill -USR1 $(cat $pid_path)
find $logs_path -mtime +30 | xargs rm -rf
2、chmod +x fenge.sh 添加权限
./fenge.sh 执行脚本
五、防盗链
- 在启页网站服务中,一般都要配置防盗链功能,以避免网站内容被非法盗用,造成经济损失
- Nginx防盗链功能也非常强大。默认情况下,只需要进行简单的配置,即可实现盗链处理
实验环境:
一台终端机,两台wind10(一台用于盗链,一台用于测试)。提前在终端机上安装号带有网页的nginx和httpd,配置好dns。
1、一台做盗链的wind10上写一个默认首页
2、在nginx配置防盗链文件插入
vim /usr/local/nginx/conf/nginx.conf
重启nginx服务
验证:
总结:防盗链主要注意最后结果是盗链网站的ip地址在刷新一下就变成另外一个图片就表示实验成功,注意盗链和防盗链的逻辑关系。
六、网页压缩功能
1、修改配置文件
vim /usr/local/nginx/conf/nginx.conf
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 6;
gzip_types text/plain application/x-javascript text/css image/jpg image/j
peg image/png image/gif application/xml text/javascript application/x-httpd-p
hp application/javascript application/json;
gzip_disable "MSIE [1-6]\.";
gzip_vary on;
gzip on :开启gzip压缩输出
gzip_min_length 1k : 表示申请4个单位为16k的内存作为压缩结果流缓存,默认值是申请与原始数据大小相同的内存空间来存储gzip压缩结果
zip_http_version 1.0 : 用于设置识别http协议版本,默认是1.1,目前大部分浏览器已经支持gzip解压,但处理最慢,也比较消耗服务器CPU资源。
2、在首页中放入图片验证,重启服务
来源:CSDN
作者:我本善良3000
链接:https://blog.csdn.net/weixin_45693462/article/details/103769024