在Linux和Unix中如何隐藏Nginx版本号
时间:2019-11-20 08:53:32 来源:igfitidea点击:
在Linux或Unix服务器上如何隐藏或删除Nginx版本。
查看Nginx当前版本
Nginx将在错误页面和服务器响应头中显示版本。
使用下面命令查看:
$ curl -I https://your-domain $ curl -I https://www.theitroad.com
输出示例:
HTTP/2 200 server: nginx/1.17.10 (Ubuntu) date: Tue, 23 Jun 2020 09:36:49 GMT content-type: text/html; charset=UTF-8 strict-transport-security: max-age=15768000 x-whome: l-ncbz01-mg-wg
或者在浏览器中查看:
按F12打开开发者控制台->按F5刷新页面->点击【Network】,在Name中选择页面,在右边的Headers中可以看到【Response Headers】 信息。其中Server就是nginx的版本信息。
使用server_tokens指令隐藏Nginx版本
将server_tokens设置为off可以隐藏Nginx服务器版本。
server_tokens的设置
server_tokens可以设置的值有
server_tokens on | off | build | string;
在Linux,* BSD和Unix上,默认设置如下:
server_tokens on;
修改nginx.conf文件:
$ sudo vim /etc/nginx/nginx.conf
在http,server或者location中设置server_tokens。
例如,添加到http:
server_tokens off;
配置看起来这样:
http { ## Basic Settings ## charset utf-8; sendfile on; tcp_nopush on; tcp_nodelay on; log_not_found off; keepalive_timeout 65; types_hash_max_size 2048; client_max_body_size 16M; include /etc/nginx/mime.types; default_type application/octet-stream; ## Hide Nginx version ## server_tokens off; ## Security headers for Nginx ## add_header Strict-Transport-Security "max-age=15768000" always; add_header X-Content-Type-Options "nosniff" always; add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Xss-Protection "1; mode=block" always; add_header Referrer-Policy strict-origin-when-cross-origin; add_header Feature-policy "accelerometer 'none'; camera 'none'; geolocation 'none'; gyroscope 'none'; magnetometer 'none'; microphone 'none'; payment 'none'; usb 'none'"; add_header Content-Security-Policy "default-src 'self' http: https: data: blob: 'unsafe-inline'" always; ## SSL Settings ## ssl_protocols TLSv1.3; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; ## Virtual Host Configs ## include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; }
重新加载Nginx配置,使设置生效:
$ sudo nginx -t $ sudo nginx -s reload
检查Nginx版本是否已经被隐藏
使用curl命令,如下所示:
curl -I https://your-domain-name-here curl -I https://www.theitroad.com
现在版本号已经被隐藏:
HTTP/2 200 server: nginx date: Tue, 23 Jun 2020 09:43:17 GMT content-type: text/html; charset=UTF-8 strict-transport-security: max-age=15768000