无论是作为Web服务器或其他类型程序的反向代理服务器,Nginx("engine x")都有着高性能且轻量级的优势。其特点是占有内存少,并 发能力强,事实上Nginx的并发能力确实在同类型的网页服务器中表现较好。这也使得Nginx在如今不管是存放在高配独立服务器上的大型的门户,还是存 放在迷你64M内存VPS上的小型的个人博客,Nginx都在被广泛使用着。
国内淘宝、新浪、网易、腾讯等都在使用。其中淘宝正是基于原作者的BSD-like协议,在其源代码基础上开发了Tengine,这暂且不表。
今天我们来说说,如何修改Nginx其内部默认名称。这对安全或者装逼都是非常实用的。
我们都知道一般Nginx有哪些内部名称展示,如有通过HTTP Response
Header中的Server、错误页的footer、FPM-FastCGI等。
一般来说修改3个位置,一个是nginx.h、另一个是ngx_http_header_filter_module.c、还有一个ngx_http_special_response.c。
提示:以下修改需要在编译安装Nginx之前进行,修改之后再编译
现在Web Server使用广泛,针对它的攻击也越来越多,Nginx这玩意出道时间也并不长,虽然国内很多门户网站都用它,小内存VPS用户也爱它,但是我可不想 哪天它爆出了个惊天BUG,上次80sec公布的Nginx相关PHP FPM漏洞就是警示哦,倘若伪装了我的Nginx服务器,攻击者就不知道我使用的是何种Web Server,也就无从下手了。
修改src/core/nginx.h(Nginx内部名称的)
#define NGINX_VERSION "1.8.0" #define NGINX_VER "NGINX/" NGINX_VERSION
NGINX_VERSION是版本号,NGINX_VER是名称
修改src/http/ngx_http_header_filter_module.c(HTTP ResponseHeader)
static char ngx_http_server_string[] = "Server: nginx" CRLF;
修改src/http/ngx_http_special_response.c(修改错误页的底部Footer)
static u_char ngx_http_error_tail[] = "<hr><center>nginx</center>" CRLF "</body>" CRLF "</html>" CRLF ;
为什么不修改安装后的Nginx Config下的fastcgi.conf呢?
因为现在外部已经是无法了解我们的服务器名称,已经达到我们的目的了。
而且我们常用的一些程序,可能会对你的前端(反向代理服务器)做判断,毕竟Nginx不同于Apache,无法动态规则。
特别是Wordpress的缓存插件,大多会通过判断你是否Nginx,如果是的话,提醒你添加一些规则语句。
这时fastcgi.conf就起作用的,其中的
fastcgi_param SERVER_SOFTWARE
nginx/$nginx_version;可以使得PHP与Nginx内部之间的互相了解。
所以我的建议,还是不修改fastcgi.conf,当然你非要改,也可以的。
相关推荐
主要介绍了修改Nginx版本名称伪装任意web server的方法,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧
- 在开始修改Nginx之前,需要对LNMP的安装路径和安装的组件版本进行确认,例如目录下包含`autoconf-2.13`和`nginx-1.8.0`等。 **Nginx伪装与编译** - 伪装指的是改变服务器对外的标识,避免直接暴露服务器真实的...
总结一下,隐藏Nginx版本号和自定义Web服务器信息的关键步骤包括:下载和解压Nginx源码,修改源码文件,编译和安装,修改配置文件,以及重启服务。这个过程有助于提升服务器的安全性,减少被针对性攻击的风险。当然...
Windows版nginx去掉header中server后面的信息(nginx版本1.21.1) 使用方法: 1、关闭nginx服务 2、将新的nginx.exe替换原有的exe文件 3、重启nginx服务
《Nginx 1 Web Server Implementation Cookbook》是一本全面而深入的Nginx实战指南,适合所有希望掌握Nginx技术的IT专业人士。无论你是初学者还是有一定经验的开发者,都能从本书中找到有价值的信息,帮助你在Nginx...
### 修改Nginx默认主页 在本篇内容中,我们将详细介绍如何修改Nginx服务器的默认主页,并确保服务器能够正确地加载新设置的根目录下的文件。本文将涵盖以下核心知识点: 1. **理解Nginx配置文件结构** 2. **修改...
Nginx 是一个流行的开源 Web 服务器软件,可以运行在多种操作系统上,其中包括 Linux。随着 Nginx 的不断更新和发展,升级 Nginx 版本成为一个不可避免的问题。本文将指导您在 Linux 系统上升级 Nginx 版本,确保...
4. 访问Web服务器确认Nginx正常工作,然后可以正式替换旧版本。 ### 六、启动新版本Nginx 1. 停止旧版本的服务(如果之前没有停止): ``` sudo systemctl stop old-nginx.service ``` 2. 启动新版本Nginx,并...
内容概要:nginx1.17.4版本因安全相关要求需要隐藏server名称,将源代码进行修改得到此资源文件,可以直接使用。 适用人群:使用nginx部署项目的人员,nginx需要隐藏server名称的人员。 使用方法:直接下载此资源,...
"GitLab系统中Nginx版本升级和配置" 在实际生产环境中,GitLab系统的Nginx版本升级和配置是一个非常重要的任务。为确保系统的稳定性和安全性,需要对GitLab系统中的Nginx版本进行升级和配置。本文将详细介绍如何...
讲解Nginx中最实用的Webserver场景 提供一套整体的搭建配置方式 2.通用性 Nginx中间件,不局限于业务逻辑,有效 独立于后台开发框架(不论后端是Java开 发、PHP开发、或者其他语言框架) 都能做到平台通用 3.原理...
Nginx 版本升级指南 本文将指导你如何平滑升级 Nginx 版本,确保服务器保持高性能和高可用性。LNMP 介绍、Linux 操作系统、Nginx Web 服务器、MySQL/MariaDB 数据库服务器和 PHP/Python/Perl 等开发语言的相关知识...
通过研究这些历史版本的源码,我们可以发现Nginx从一个简单的静态文件服务器逐步发展成为能够处理复杂动态内容的全能型Web服务器。它的设计理念是高度并发、低资源消耗,以及通过模块化实现功能扩展。这种进化过程...
强大的http server提供多用户多线程高并发高新建,各大网站均有使用
然后重新加载nginx,可以看到server头部也是不带版本号,也可以通过404查看 2、返回自定义服务器类型 通过curl -i http://127.0.0.1 查看当前的类型或者一些站长工具都可以看到,可以修改一为gws或者GFW来威慑一些...
python-nginx, 在 python 中,创建和修改 Nginx serverblock配置 python 用于在 python ( 包含评论) 中轻松创建和修改 Nginx serverblock配置的模块。安装pip install python-nginx示例创建 Nginx serverb
这种组合常用于搭建高效的 Web 应用程序服务器,尤其是当您需要利用 Nginx 的高性能特性时。下面将通过一系列步骤指导您完成整个配置过程。 #### 一、下载与安装 Nginx 和 PHP 1. **下载 Nginx** 访问 Nginx ...
Windows版本的Nginx安装通常涉及下载安装包、解压到指定目录、修改配置文件,然后通过命令行启动服务。安装完成后,可以通过http://localhost访问默认的欢迎页面。 **反向代理** Nginx的核心功能之一是反向代理,...