如何在 nginx 上禁用服务器和服务器令牌标头参数

如何在 nginx 上禁用服务器和服务器令牌标头参数

我有一个安装了 nginx 1.12.0 的 ubuntu 服务器,我想彻底删除服务器响应标头

Server:nginx

如果我安装 nginx-extras,它将安装 nginx/1.1.19 版本,并且它还将禁用 Etags,还有其他选项可以删除服务器标头吗

答案1

将其添加server_tokens off;到您的nginx.conf服务器部分下。

这将删除Server: nginx 1.12.0服务器标头

更新:

您需要从源代码编译它。这是关联我从 DO 得到。

下载 nginx 包然后按照以下步骤操作:

cd ~/src/nginx/
vi +49 src/http/ngx_http_header_filter_module.c

找到以下行:

static char ngx_http_server_string[] = "Server: nginx" CRLF;
static char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF;

修改为:

static char ngx_http_server_string[] = "Server: custom-server-name" CRLF;
static char ngx_http_server_full_string[] = "Server: custom-server-name" CRLF;

答案2

您必须拥有 nginx 的商业订阅才能使用服务器令牌“字符串”从响应主体中删除 nginx

相关内容