在 nginx 1.2 & 1.3 中你可以修改源来更改名称:
src/http/ngx_http_header_filter_module.c(第 48 和 49 行):
static char ngx_http_server_string[] = "Server: Not Nginx" CRLF;
static char ngx_http_server_full_string[] = "Server: Not Nginx/1.0" CRLF;
重命名这些并重新编译源会更改 nginx 1.2 中的服务器响应名称。
然而在 1.3 中这样做似乎并没有改变名称。它仍然说nginx/1.3.5并且 server_tokens 关闭;它只是说nginx。
如何在不安装第三方插件头的情况下更改 1.3 中的服务器名称?我想从源代码进行编译。
答案1
改变:src/http/modules/perl/Makefile.PL
上面写着:
NAME => 'nginx',
答案2
我已经尝试过 Nginx 1.3.7。您仍然可以使用与以前相同的技术。
改变:src/http/ngx_http_header_filter_module.c
上面写着:
static char ngx_http_server_string[] = "Server: nginx" CRLF;
然后改变:src/core/nginx.h
上面写着:
#define NGINX_VERSION "1.3.7"
#define NGINX_VER "nginx/" NGINX_VERSION