在Windows 2003上安装SmartWAF,在安装过程中没有任何错误,但重新起动 Apache Service 时却无法成功起动,而在应用程序事件中出现了以下错误:

The Apache service named  reported the following error:
>>> httpd.exe: Syntax error on line 493 of C:/Program Files/Apache Software Foundation/Apache2.2/conf/httpd.conf: Cannot load C:/Program Files/Armorize Technologies Inc/webfilter/mod_aod_22.so into server: The specified module could not be found.     .

上述的错误表示 Apache 无法加载 SmartWAF 模块(位於C:/Program Files/Armorize Technologies Inc/webfilter/mod_aod_22.so),原因是找不到该档案。在某些 SmartWAF 版本,安装时在 Apache 的初始设定路径是错误的,这时你就必须自己手动修改 httpd.conf 中的设定:

  1. 使用文字编辑器打开 Apache 的 httpd.conf 设定。(其路径如C:/Program Files/Apache Software Foundation/Apache2.2/conf/httpd.conf;视你的安装目录而定。)
  2. 检查其中有关 SmartWAF 的设定,以下为一范例,确认 aod_module 所在路径正确。
    LoadModule aod_module "C:\Program Files\Armorize Technologies Inc\smartwaf\3.1.0-11201\webfilter\mod_aod_22.so"
    AODenable on
    AODbackend http://127.0.0.1:8081/decide.cgi 
    AODwhitelist ".*\.(gif|jpg|jpeg|bmp|swf|fla|flv|doc|pdf|ppt|pps|wav|mpg|mpeg|wma|wmv|zip|rar|tgz)"
    AODallowOnBackendError On
    AODconnectionTimeout 2
  3. 重新启用 Apache 服务,再查看 Windows Event Log 是否有错误。