1、隐藏nginx header版本号
1、隐藏nginx header版本号
2、更改源码隐藏软件名称
3、更改nginx默认用户及用户组
4、配置nginx worker进程个数
5、根据CPU核数进行nginx进程优化
6、nginx事件处理模型优化
7、调整Nginx worker单个进程允许的客户端最大连接数
8、配置Nginx worker进程最大打开文件数
9、开启高效的文件传输模式
10、设置连接超时时间
11、上传文件大小设置(动态应用)
12、fastcgi调优(配合PHP引擎动态服务)
13、配置nginx gzip压缩功能
14、配置Nginx expires缓存功能
15、Nginx日志相关优化与安全
16、Nginx站点目录及文件URL访问控制(防止恶意解析)
17、防止恶意解析访问企业网站
18、Nginx图片及目录防盗链
19、Nginx错误页面的优雅显示
20、Nginx防爬虫优化
21 、限制HTTP请求方法
22、防DOS***
23、使用CDN为网站内容加速
24、Nginx程序架构优化
25、使用普通用户启动Nginx(监牢模式)
1、隐藏nginx header版本号
查看版本号
1
2
3
4
5
6
7
8
|
[root@db02 ~]
# curl -I http://www.lichengbing.cn
HTTP
/1
.1 200 OK
Server: nginx
/1
.6.3
Date: Tue, 16 Aug 2016 14:39:48 GMT
Content-Type: text
/html
; charset=UTF-8
Connection: keep-alive
X-Powered-By: PHP
/5
.5.32
Link: |
编译nginx.conf配置文件,添加server_tokens off参数
1
2
3
4
5
6
7
8
|
http {
...
server_tokens off;
#控制http response header内的服务版本信息的显示,以及错误信息中web服务版本信息
...
}
[root@db02 ~]
# curl -I http://www.lichengbing.cn
HTTP
/1
.1 200 OK
Server: nginx
#版本隐藏
|
2、更改源码隐藏软件名称
修改3个nginx源码文件
第一个nginx-1.6.3/src/core/nginx.h文件
1
2
3
4
5
6
|
[root@lichengbing nginx-1.6.3]
# cd ~/tools/nginx-1.6.3
[root@lichengbing nginx-1.6.3]
# sed -n '13,17p' src/core/nginx.h
#define NGINX_VERSION "1.6.3" #改成你想要的版本号,如2.2.5
#define NGINX_VER "Nginx/" NGINX_VERSION #你想改成的软件名称,如Apache
#define NGINX_VAR "NGINX" #可以改成OWS等
#define NGX_OLDPID_EXT ".oldbin"
|
第二个
1
|
[root@lichengbing nginx-1.6.3]
# sed -i 's#Server: nginx#Server: OWS#g' src/http/ngx_http_header_filter_module.c
|
第三个ngx_http_special_response.c是否对外展示敏感信息
1
2
3
4
5
6
7
8
9
|
[root@lichengbing nginx-1.6.3]
# sed -n '21,30p' src/http/ngx_http_special_response.c
static u_char ngx_http_error_full_tail[] =
"
NGINX_VER
""
CRLF
" |