我大致按照本教程安装了 nginx 和 modsechttps://www.linuxcapable.com/how-to-install-modsecurity-with-nginx-on-ubuntu-20-04/。
经过几个月的完美运行后,我现在收到此错误:
nginx: [emerg] module "/usr/share/nginx/modules/ngx_http_modsecurity_module.so" version 1021004 instead of 1021006 in /etc/nginx/nginx.conf:5
nginx: configuration file /etc/nginx/nginx.conf test failed
我还没有重建 nginx 连接器模块,但我预计这就是问题所在,一旦我重建并安装了模块,nginx 将重新启动而不会出现问题。更新:重建模块,一切运行良好。
我的问题是: 如何在生产服务器上管理这种情况?。我的意思是当系统更新和升级时,某个时候 nginx 版本将领先于 nginx modsec 连接器模块版本,并且服务器将不会重新加载......因此服务器将停止工作(就像刚才发生的那样)。
答案1
我对这个问题的最佳解决方案(如果您使用的是 Ubuntu 或 Debian)是在无人值守升级中为 nginx 设置例外,以便它不会自动升级。定期检查 nginx 是否有任何更新,如果有,则在安装 nginx 更新之前重建连接器......这是我能提供的最好的解决方案。没有其他人回答,所以这是可接受的答案 ;-)