文章目录
1. 问题记录
应用环境测试屏蔽nginx的版本号,在nginx配置的http{}语句体里面加入server_tokens off用于屏蔽版本,之后使用nmap工具进行测试,发现不但没有正常屏蔽版本号,而且版本还不正确。
2. 排查问题
- 服务统一访问该主机nginx,并且该主机只部署了一个实例的nginx服务,版本为1.20,但是nmap查询出的版本是1.18
- 通过nginx include的其他配置信息来看,只有主配置启用了80端口,其他服务都通过该主机nginx的80代理访问
- 使用lsof -i:80命令查看,除了本地的 TCP *:http (LISTEN) 连接外,还多有一条连接指向其他主机,排查后发现,该主机代理的某服务是在其他主机部署的,并且在另外主机也由nginx代理,并且版本是1.18;所以nmap在检测该主机时,直接返回了server_b服务所在机器的nginx的信息(如果停掉server_b服务使用nmap进行检测,可以看出版本号也没有的,因为本地服务已经屏蔽了版本信息)
3. 解决问题
在另外一台服务器,修改nginx配置,http{}语句体里面加入server_tokens off用于屏蔽版本,即可通过nmap查询不到实际版本信息。