![重命名 Nginx 1.3.5 服务器:响应标头](https://linux22.com/image/1327245/%E9%87%8D%E5%91%BD%E5%90%8D%20Nginx%201.3.5%20%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%9A%E5%93%8D%E5%BA%94%E6%A0%87%E5%A4%B4.png)
在 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