咸鱼

咸鱼是以盐腌渍后,晒干的鱼

0%

Nginx屏蔽IP

以下是手动屏蔽固定的IP,还有一些方法可以自动将IP屏蔽待以后需要再研究。

1. 假设nginx的配置中有如下一个server

1
2
3
4
5
6
7
8
9
10
server {
listen 80;
server_name localhost;

location / {

root /var/www/localhost;
index index.html index.htm;
}
}

2. 如果现在我需要屏蔽两个IP,加入以下三行到server节点中:

1
2
3
4
# allow 一定要在 deny 前面
allow all;
deny 123.123.123.123;
deny 123.123.123.124;

3. 如果要屏蔽一个123.123.123.x 这个IP段,写法如下:

1
deny 123.123.123.0/24;

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
server {
listen 80;
server_name localhost;

location / {

root /var/www/;
index index.html index.htm;
}
# allow 一定要在 deny 前面
allow all;
deny 123.123.123.0/24;
error_page 500 502 503 504 /50x.html;
}

4. 屏蔽配置写入文件

创建一个文件如 blockips.conf ,包含屏蔽内容,在server中 include 此文件即可。
示例 blockips.conf

1
2
3
allow all;
deny 123.123.123.123;
deny 123.123.123.124;

示例 nginx.conf

1
2
3
4
5
6
7
8
9
10
11
12
server {
listen 80;
server_name localhost;

location / {

root /var/www/;
index index.html index.htm;
}
include blockips.conf;
error_page 500 502 503 504 /50x.html;
}

5. 仅允许内网访问

1
2
3
4
5
6
# block one workstation
deny 192.168.1.1;
# allow anyone in 192.168.1.0/24
allow 192.168.1.0/24;
# drop rest of the world
deny all;