nginx“http_headers_more”模块返回“不二进制兼容”错误

Pau*_*aul 5 nginx docker nginx-config

我正在尝试运行nginx-mod-http-headers-morenginx 模块,以便我可以从标头响应中完全隐藏服务器名称/版本。

一些背景知识,我在 docker 容器内运行 nginx 1.16.1。它有一个正在运行的 dockerfile nginx:1.16.1-alpine。为了隐藏Server标头响应字段,我需要使用该nginx-mod-http-headers-more模块。

我将以下命令添加到我的 dockerfile 中,以将模块安装在我的 docker 容器中:

RUN apk update && \
apk upgrade && \ 
apk add nginx-mod-http-headers-more
Run Code Online (Sandbox Code Playgroud)

在我的nginx.conf文件中,我添加了以下几行:

load_module modules/ngx_http_headers_more_filter_module.so;
...
http {
   server {
      more_clear_headers   "Server: ";
      ...
   }
}
Run Code Online (Sandbox Code Playgroud)

load_module语句和more_clear_headers是使该模块工作所需的两段代码。但是,当创建并运行 docker 容器时,它会在容器内生成以下错误:

nginx: [emerg] module "/etc/nginx/modules/ngx_http_headers_more_filter_module.so" is not binary compatible in /etc/nginx/nginx.conf:1
Run Code Online (Sandbox Code Playgroud)

我需要帮助来弄清楚从这里该做什么!谢谢!