最新消息:

nginx 屏蔽IP段以及设置日志格式

ip admin 3423浏览 0评论

最近帮朋友放了一个博客在我的128M小内存VPS上,放上去之后发现他的博客老是有人用外挂发垃圾评论,搞的服务器内存一直飙升,没办法只有通过一些手段来搞定这些讨厌的家伙。

由于服务器在德国,所以中间使用了cdn加速。

Nginx本生自带屏蔽IP功能。

你可以使用:

deny 127.0.0.0/8

这样的方法屏蔽某个IP段,但是这种方法有个缺点就是:服务器会返回403错误,如果攻击者采用密集的攻击,那么你的nginx会为推送403消息错误而挂掉。

而且这种方法不适用于有CDN加速的网站。

那么我们将采取第二种方式来屏蔽这些IP:

首先建立一个blockip.conf在ningx drictory/conf/目录下。

在其中输入:

if ( $proxy_add_x_forwarded_for ~ 96.47.225 ){

return 444;

}

$proxy_add_x_forwarded_for将返回客户端真实IP和CDN的IP

然后在server的配置中include blockip.conf,重新载入nginx配置即可。

附上日志设置格式:

log_format  main  ‘$proxy_add_x_forwarded_for – $remote_user [$time_local] “$request” ‘

‘$status $body_bytes_sent “$http_referer” ‘

‘”$http_user_agent” “$http_x_forwarded_for”‘;

转载请注明:爱开源 » nginx 屏蔽IP段以及设置日志格式

您必须 登录 才能发表评论!