# 默认服务器块,捕获所有未匹配的域名
server {
listen 80 default_server;
listen [::]:80 default_server;
listen 3000 default_server;
listen [::]:3000 default_server;
server_name _; # 匹配任何主机名
# 添加安全响应头
add_header X-Frame-Options "DENY";
add_header X-Content-Type-Options "nosniff";
# 非法请求处理
location / {
return 444; # 直接关闭连接 (Nginx 特有)
# 或者 return 403; / return 404;
}
# 拦截扫描器
location ~* (wp-admin|.env|.git) {
return 444; # 直接关闭连接 (Nginx 特有)
# 或者 return 403; / return 404;
}
}
server {
listen 80;
server_name your-legitimate-domain.com www.your-legitimate-domain.com; # 你们的合法域名
... # 正常配置,指向你们的网站根目录和应用
}
server {
listen 3000;
server_name your-legitimate-domain.com www.your-legitimate-domain.com; # 你们的合法域名
... # 正常配置,指向你们的网站根目录和应用
}
# 对于 HTTPS (443端口),同理,需要有一个默认的 server 块且配置了 SSL 证书(可以是自签名的或通配符的)
server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
server_name _;
ssl_certificate /path/to/dummy-or-wildcard-cert.pem; # 可以是自签名证书
ssl_certificate_key /path/to/dummy-or-wildcard-key.pem;
return 444; # 或 403, 404
}
server {
listen 443 ssl;
server_name your-legitimate-domain.com www.your-legitimate-domain.com;
ssl_certificate /path/to/your-real-cert.pem;
ssl_certificate_key /path/to/your-real-key.pem;
... # 正常配置
}