我有以下 nginx 配置:
server
{
listen 80 default;
listen [::]:80 default_server ipv6only=on;
server_name _;
root /home/user/websites/$host;
index index.html;
}
这简化了配置(满足我的需要),如果我想为新域或子域提供服务,我只需创建文件夹/home/user/websites/sub.domain.tld/
.
我的问题是,通过这种设置,恶意用户是否可以发送错误的Host
标头并遍历目录结构?
我尝试了以下方法:
$ curl --header "Host: ../testing" ip.address
nginx400 Bad Request
按预期返回。是否有任何其他方法可以规避这种情况,或者 nginx 是否可以防止这种攻击?