简单修改基础header,使服务器更安全
5577 点击·0 回帖
![]() | ![]() | |||||
![]() | 今天看到服务器返回的Response header有这么几条信息
Server:nginx/1.4.0 X-Powered-By:PHP/5.5.1 Content-Encoding:gzip问题: 第一条展示了服务器使用的webserver,以及版本号 第二条展示了脚本语言以及版本号 第三条展示了通过gzip进行压缩 安全问题: 那么前两条无疑是将服务器的版本信息暴露出来了,如果在发行版本上出现什么BUG,无异将自己服务器漏洞暴露出来了。 让Nginx 关闭版本显示信息 Nginx 会在 http 头,或者出现错误页的时候会有醒目的版本号提示。 为了安全,可以关闭这些信息。 方法很简单,只需在 nginx.conf 的 http {} 里头加入 server_tokens 的参数 例如: http { include mime.types; default_type application/octet-stream; server_tokens off; #关闭版本显示 client_header_timeout 3m; client_body_timeout 3m; send_timeout 3m; # ... }重载webserver 1 nginx reload 注意:是重载不是重启哦! 使用 curl 工具测试结果如下: HTTP/1.1 301 Moved Permanently Server: nginx Date: Fri, 11 Dec 2009 01:47:53 GMT Content-Type: text/html Content-Length: 178 Connection: keep-alive Keep-Alive: timeout=20 Location: http://levi.cg.am/关闭 php X-Powered-By 信息 修改 php.ini 文件,设置 expose_php = Off重启php服务 1 php-fpm restart 关闭gzip输出 引发这个思考是来自这么一个问题 php写了个无刷新输出缓存,但是当nginx设置了gzip压缩之后就无效了,如何设置php才能关闭当前页面的gzip输出呢? 我试图设置php.ini来关闭,不过不好使
我想也许是因为我的gzip输出是通过nginx设置来的 图片:533905.png ![]() 当然也不能使用nginx关闭整站的gzip,我只希望关闭当前页面的gzip,那么我只能通过header输出来关闭gzip压缩
| |||||
![]() | ![]() |