Nginx配置
阻止扫描
1 | server { |
功能:主要功能是将所有没有匹配到特定域名的请求直接拒绝,不提供任何服务。
server_name _;
的设置会将这个 server
块视为默认服务器,用来处理所有未在其他 server
块中定义的域名请求。
在这个配置中,所有未明确定义的域名请求都会被引导到这个默认的 server
块,然后立即返回状态码 444
,断开连接。
使用
Nginx proxy manage配置使用
docker-compose文件:
1 | version: '3' |
移动到docker-compose.yml文件所在的目录,在此目录下创建
/nginx/block_scanners.conf
文件把阻止扫描的配置复制到
block_scanners.conf
这个文件中- 申请自签证书
先安装openssl
1 | sudo apt update |
再执行(确保当前在docker-compose.yml文件所在的目录)
1 | openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ./data/nginx/certs/default_server.key -out ./data/nginx/certs/default_server.crt |
在生成过程中,会被提示输入一些信息,如国家、省份和组织。可以随意填写,或者直接回车,生成证书和密钥文件即可。
最后执行:
1 | docker-compose up -d |
验证方法
使用 curl
命令: 在服务器上,使用 curl
命令发送请求到 Nginx Proxy Manager 容器,指定一个不存在的域名(未在 Nginx Proxy Manager 中配置的域名),例如:
1 | curl -I http://localhost -H "Host: nonexisting.domain.com" |
当收到 curl: (52) Empty reply from server 表示服务器没有返回任何内容,这正是 return 444; 配置的预期结果。
评论