Nginx 隐藏版本号信息
Nginx 隐藏版本号信息
当我们使用 apt 或者其他包管理工具安装完 Nginx 之后,访问网站时 Header 里面会默认携带 Nginx 的版本号信息。
命令行下可以使用命令查看:
curl -I http://your-domain
|
HTTP/2 200 server: nginx/1.16.1 #这里带有版本号信息 date: Thu, 12 Sep 2019 03:06:23 GMT content-type: text/html; charset= cache-control: public content-language: auto
|
而软件漏洞往往都是跟版本绑定的,在管理员没有及时更新修复漏洞的情况下,一旦攻击者知道了你用的 Nginx 版本就能轻松利用已知漏洞实现入侵。
这无疑是一个安全隐患,所以对版本号进行隐藏就一定必要了(当然,更新修复漏洞才是解决问题的根本途径)。
解决方法
要隐藏 Nginx 版本号其实很简单,稍微修改一下配置文件即可。这里使用 vim 编辑器:
sudo vim /etc/nginx/nginx.conf
|
在 http {} 段中添加一行 server_tokens off;
http { ...... server_tokens off; ...... }
|
之后保存文件,测试 Nginx 配置文件是否正常后重载配置即可
sudo nginx -t sudo nginx -s reload
|
测试效果
配置好之后可以再用 curl 测试一下,会发现不再显示 Nginx 版本号了。
HTTP/2 200 server: nginx #版本号信息没有了 date: Thu, 12 Sep 2019 03:32:16 GMT content-type: text/html; charset= cache-control: public content-language: auto
|