Nginx 隐藏版本号和信息
Http中的Nginx版本信息
查看http请求的response里面的header我们会发现有server这个参数,它表示服务端使用的是什么web服务器。
例如
新浪网:
Server:nginx
开源中国:
Server:Tengine
segmentfault甚至都没有返回server!
很多网站不止返回了nginx而且还带了版本号,而像版本号这种东西完全没必要暴露给用户,我们可以通过设置server_tokens off隐藏掉版本号:
PHP中的Nginx版本信息
即使把server_tokens设为了off,也并不代表nginx的版本号是完全不可见的~
通过上图我们可以看到虽然http返回的header里面已经没有了版本号,但是php里面还是可以获取到nginx的版本号的,如果要对PHP也隐藏掉版本号就需要修改fastcgi.conf这个文件了:
去掉后面的 /$nginx_version 或者 直接注释掉这一行!
fastcgi_paramSERVER_SOFTWARE nginx/$nginx_version;
修改或者隐藏Nginx信息
如果我希望nginx也不显示呢?或者修改nginx为Tengine呢?
这个时候就要修改nginx源码文件src/core/nginx.h,例如我把nginx修改问tengine:
也可以把NGINX_VER 赋值为空,这样Http 返回的header里面的server也为空了!
需要注意的是,如果server_tokens设置为off,即使源码NGINX_VER 赋值为空或者改成其他值,返回的server还是nginx,只是不显示版本号!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Ajax跨越问题原因分析与解决思路
1.什么是AJAX跨域问题 简单来说,就是前端调用后端服务接口时 如果服务接口不是同一个域,就会产生跨域问题 2.AJAX跨域场景 前后端分离、服务化的开发模式 前后端开发独立,前端需要大量调用后端接口的场景 只要后端接口不是同一个域,就会产生跨域问题 跨域问题很普遍,解决跨域问题也很重要 3.AJAX跨域原因 浏览器限制:浏览器安全校验限制 跨域(协议、域名、端口任何一个不一样都会认为是跨域) XHR(XMLHttpRequest)请求 4.AJAX跨域问题解决思路 浏览器:浏览器取下跨域校验,实际价值不大 XHR:不使用XHR,使用JSONP,有很多弊端,无法满足现在的开发要求 跨域:被调用方修改支持跨域调用(指定参数);调用方修改隐藏跨域(基于代理) 5.JSONP解决跨域访问 1.服务端JSONP格式数据 如客户想访问 : http://www.runoob.com/try/ajax/jsonp.php?jsonp=callbackFunction。 假设客户期望返回JSON数据:[“customername1”,”customername2”]。 真正返回到客户端的数据显示为...
- 下一篇
JavaScript 编程精解 中文第三版 五、高阶函数
五、高阶函数 原文:Higher-Order Functions 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 部分参考了《JavaScript 编程精解(第 2 版)》 Tzu-li and Tzu-ssu were boasting about the size of their latest programs. ‘Two-hundred thousand lines,’ said Tzu-li, ‘not counting comments!’ Tzu-ssu responded, ‘Pssh, mine is almost a million lines already.’ Master Yuan-Ma said, ‘My best program has five hundred lines.’ Hearing this, Tzu-li and Tzu-ssu were enlightened. Master Yuan-Ma,《The Book of Programming》 There are two ways of constructing a s...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装Docker,最新的服务器搭配容器使用
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Linux系统CentOS6、CentOS7手动修改IP地址
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Windows10,CentOS7,CentOS8安装Nodejs环境
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题