配置Nginx隐藏版本号
在生产环境中,需要隐藏Nginx的版本号,以避免安全漏洞的泄漏
查看方法
- 使用fiddler工具在Windows客户端查看Nginx版本号
- 在CentOS系统中使用‘'curl -I网址”命令查看
Nginx隐藏版本号的方法
-
修改配置文件法
Nginx的配置文件中的server_tokens选项的值设置为off
[root@localhost www]# vim /usr/local/nginx/conf/nginx.conf
在http协议中添加选项,并设为off
重启服务,访问网站使用curl -l命令检测
若php配置文件中配置了fastcgi_param SERVER_SOFTWARE选项,则编辑php-fpm配置文件,将fastcgi_param SERVER_SOFTWARE对应的值修改为:
fastcgi_param SERVER_SOFTWARE nginx;
-
修改源码法
- Nginx源码文件nginx-1.12.2/src/core/nginx.h 包含了版本信息,可以随意设置
[root@localhost nginx]# cd /opt/nginx-1.12.2/
[root@localhost nginx-1.12.2]# ls
auto CHANGES.ru configure html Makefile objs src
CHANGES conf contrib LICENSE man README
[root@localhost nginx-1.12.2]# cd src
[root@localhost src]# ls
core event http mail misc os stream
[root@localhost src]# cd core/
[root@localhost core]# vim nginx.h
- 重新编译安装,隐藏版本信息
[root@localhost core]# cd /opt/nginx-1.12.2/
[root@localhost nginx-1.12.2]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
[root@localhost nginx-1.12.2]# make && make install
- 重启服务,访问网站使用curl -I 命令检测
修改Nginx用户与组
Nginx运行时进程需要有用户与组的支持,以实现对网站文件读取时进行访问控制
Nginx默认使用nobody用户账号与组账号,一般也要进行修改
修改的方法:
1、编译安装时指定用户与组
- 创建用户账号与组账号,如nginx
- 在编译安装时–user与–group指定Nginx服务的运行用户与组账号
2、修改配置文件指定用户与组
-
新建用户账号,如nginx
-
修改主配置文件user选项,指定用户账号
-
重启nginx服务,使配置生效
-
使用ps aux命令查看nginx的进程信息,验证运行用户账号改变效果