【发布时间】:2018-02-10 00:55:28
【问题描述】:
我正在尝试为 Nginx OSS Web 服务器编译 ModSecurity。我已按照他们的“快速入门指南”中的所有说明进行操作,但遇到了问题。连接新模块后,配置测试失败。
/var/log/nginx/error.log 的错误输出是:
2018/02/10 00:47:51 [emerg] 6026#6026: module "/usr/share/nginx/modules/ngx_http_modsecurity_module.so" is not binary compatible in /etc/nginx/modules-enabled/50-mod-http-modsecurity.conf:1
原来动态模块是用
编译的sh
./configure --with-compat --add-dynamic-module=../ModSecurity-nginx
但这会导致错误。
根据我的阅读,我需要使用与现有 Nginx 实例相同的选项来编译模块。
我使用nginx -V 找到了当前选项,然后使用所有输出选项重新运行./configure,但这给出了相同的错误。
任何人都可以在这里为我指明正确的道路吗?
感谢您的帮助。
2018 年 10 月 29 日更新
似乎原始二进制文件也需要使用--with-compat 标志进行编译。我已经提交了一份关于这个问题的错误报告,可以在这里找到:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=897926
也许它可以得到一些牵引力。
【问题讨论】:
-
您好,Andrew Brown,您能解决这个问题吗?如果是,那怎么办?我也面临同样的问题。我的 Nginx 版本是 1.10.3。谢谢
-
我在错误报告中没有看到任何动静,但显然 Ubuntu 存储库中最新的 Nginx 是使用
--with-compat编译的!万岁!我仍然在搞乱完全设置它,但我已经做得比以前更远了。您可能必须从 1.10.3 升级。
标签: nginx mod-security