LN使用BT面板禁止IP访问站点和恶意解析设置

在使用 LNMP 搭建的 Linux 环境下,安装了 BT 面板来搭建站点,但当我们在服务器上安装了代理软件,我们不想让别人通过代理 IP 直接访问我们的某些站点。需要禁止某些 IP 访问某些站点,或者禁止某些 IP 进行恶意解析,可以按照下面的方法进行设置:

编辑修改文件/www/server/panel/vhost/nginx/0.default.conf将默认的配置:

1
2
3
4
5
6
7
server
{
listen 80;
server_name _;
index index.html;
root /www/server/nginx/html;
}

修改为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
server
{
listen 80;
listen 443 ssl http2;
server_name _;
index index.html;
root /www/server/nginx/html;

# DEFAULT SSL CONFIG
ssl_certificate /www/server/panel/vhost/cert/0.default/fullchain.pem;
ssl_certificate_key /www/server/panel/vhost/cert/0.default/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers off;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security "max-age=31536000";

# 关键设置:直接关闭连接
return 444;
}

return 444; 是 Nginx 独有的指令,它会直接断开连接,不返回任何内容,非常适合用于拦截恶意请求 。添加了这一行后,当用户访问你的站点时,Nginx 会直接返回一个空响应,并断开连接。这样,用户将无法访问你的站点,除非被允许访问的 IP 地址。