目录
一、nginx的优化
1. 隐藏版本号
2. 修改用户与组
3. 缓存时间
4. 日志切割
5. 连接超时
6. 更改进程数
7. 配置网页压缩
二、防盗链
总结
(1)隐藏版本号的原因
为了安全,如果暴露版本信息,黑客可以通过版本信息,得知该版本存在的漏洞,进而对服务器进行攻击。隐藏版本信息可以避免黑客有的放矢的搞破坏。
(2)查看版本号的方法
方法一:命令“nginx -v”(仅限web服务器)
[root@localhost ~]# nginx -v
nginx version: nginx/1.12.0
方法二:命令“crul -I”
[root@localhost ~]# curl -I 192.168.122.10
HTTP/1.1 200 OK
Server: nginx/1.12.0 #当前nginx版本为1.12
Date: Thu, 12 Aug 2021 13:55:40 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Thu, 12 Aug 2021 02:57:01 GMT
Connection: keep-alive
ETag: "61148dfd-264"
Accept-Ranges: bytes
方法三:linux火狐浏览器查看
方法四:windows通过fiddler软件查看
(3)隐藏方法一:修改配置文件
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
http {
......
server_tokens off; #添加此行内容,关闭版本号的显示
......
[root@localhost ~]# systemctl restart nginx
(4)隐藏方法二:修改源码文件,重新编译
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
http {
......
#server_tokens off; #注释此行内容,开启版本号的显示
......
[root@localhost ~]# vim /opt/nginx-1.12.0/src/core/nginx.h
#define NGINX_VERSION "2.4.29"
##修改版本号,可伪装成其他服务器版本(例如apache、iis等)
#define NGINX_VER "apache/" NGINX_VERSION
##修改服务器类型,可伪装成其他服务器版本(例如apache、iis等)
[root@localhost ~]# cd /opt/nginx-1.12.0/
[root@localhost nginx-1.12.0]# ./configure \
> --prefix=/usr/local/nginx \
> --user=nginx \
> --group=nginx \
> --with-http_stub_status_module
[root@localhost nginx-1.12.0]# make -j 2 && make install
[root@localhost nginx-1.12.0]# systemctl restart nginx
[root@localhost nginx-1.12.0]# vim /usr/local/nginx/conf/nginx.conf
user nginx nginx; #第二行,取消注释,修改用户为nginx,组为nginx
[root@localhost nginx-1.12.0]# systemctl restart nginx
[root@localhost nginx-1.12.0]# ps aux | grep nginx
#主进程由root创建,子进程由nginx创建
root 42095 0.0 0.0 20500 628 ? Ss 23:29 0:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx 42096 0.0 0.0 22948 1404 ? S 23:29 0:00 nginx: worker process
root 42103 0.0 0.0 112676 976 pts/0 R+ 23:29 0:00 grep --color=auto nginx
当nginx将网页数据返回给客户端后,可设置缓存的时间,以方便在日后进行相同内容的请求时直接返回,避免重复请求,加快了访问速度。一般针对静态网页进行设置,对动态网页不设置缓存时间。
[root@localhost nginx-1.12.0]# vim /usr/local/nginx/conf/nginx.conf
......
server {
......
location ~ \.(gif|jpg|jpeg|png|bmp|ico)$ { #新建location,以图片作为缓存对象
root html;
expires 1d; #指定缓存时间为1天
}
......
}
......
[root@localhost nginx-1.12.0]# systemctl restart nginx
在网页中加入图片后测试
[root@localhost html]# vim /usr/local/nginx/html/index.html
#加入图片