1
我試圖用Naxsi,以確保我的Nginx服務器,但是當我試圖重新啓動Nginx的我得到這個錯誤:爲什麼Nginx在包含Naxsi規則時返回錯誤?
Restarting nginx: nginx: [emerg] "LearningMode" directive is not allowed here in /etc/nginx/naxsi.rules:4
nginx: configuration file /etc/nginx/nginx.conf test failed
這裏是我的nginx.conf文件
user www-data;
worker_processes 4;
pid /var/run/nginx.pid;
events {
worker_connections 768;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
gzip_disable "msie6";
gzip_types text/plain
text/css
application/json
application/x-javascript
text/xml
application/xml
application/xml+rss
text/javascript;
include /etc/nginx/naxsi_core.rules;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
naxsi_core.rules
是文件默認naxsi的規則。 conf.d
所以沒有icluded規則和內部sites-enabled
是我的默認服務器的conf文件是空的:
server {
listen 8090;
server_name example.com;
root /home/test/unicorn/public;
include /etc/nginx/naxsi.rules;
}
在這裏,我包括naxsi.rules
這是默認的規則naxsi文件:
LearningMode;
SecRulesEnabled;
#SecRulesDisabled;
DeniedUrl "/RequestDenied";
## check rules
CheckRule "$SQL >= 8" BLOCK;
CheckRule "$RFI >= 8" BLOCK;
CheckRule "$TRAVERSAL >= 4" BLOCK;
CheckRule "$EVADE >= 4" BLOCK;
CheckRule "$XSS >= 8" BLOCK;
這是正確的。錯誤的塊。 – 2016-04-06 15:32:30