找回密码
 立即注册
查看: 108|回复: 3

Nginx多IP环境如何禁止空主机头访问

[复制链接]

1913

主题

0

回帖

1913

积分

金牌会员

积分
1913
发表于 2023-7-7 23:30:00 | 显示全部楼层 |阅读模式


fqd,又得麻烦你了。

用原先禁止访问空主机头的方法在绑定多个IP的环境下不起任何作用。还是可以直接用IP访问,也无法禁止域名恶意解析指向。请教fqdNginx如何在绑定多个IP的环境下禁止空主机头访问?备注:每个IP下均已开设虚机。感谢!

以下是我试过无效的方法,但单个IP下是有效的。
nginx.conf添加替换为以下:
  1. server    {        listen 80 default_server;        #listen [::]:80 default_server ipv6only=on;        server_name _;        #index index.html index.htm index.php;        #root  /home/wwwroot/default;                return 403;
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

0

主题

933

回帖

0

积分

新手上路

积分
0
发表于 2023-7-7 23:34:04 | 显示全部楼层



这就是默认虚拟主机,所有没添加的域名,所有ip都到这里
是替换不是添加,default_server只能有一个,不起作用肯定你的配置有问题

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复 支持 反对

使用道具 举报

0

主题

957

回帖

0

积分

新手上路

积分
0
发表于 2023-7-7 23:42:03 | 显示全部楼层


经过多种方法测试,我发现在多IP和单IP环境下的配置是不一样的,如下:

(1)多IP情况下需分别再添加两个不同IP地址的server:
server
    {
        listen 198.46.197.201:80 default_server;
        server_name "";
    return 444;   
    }   
server
    {
        listen 192.227.162.35:80 default_server;
        server_name "";
    return 444;   
    }   

(2)单IP情况下仅需修改为以下即可:
listen 80 default_server;
server_name _;
return 444;

NOTE:需特别说明的是,多IP下使用listen *:80 default_server;是无效的,一开始我用的可以,但不知道怎么的后来又失效了,得单独添加才行。

估计有不少人也需要这个,特意编辑帖子发出,希望对大家有用!

[ 本帖最后由 半岛小生 于 2018-5-3 19:00 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复 支持 反对

使用道具 举报

0

主题

964

回帖

0

积分

新手上路

积分
0
发表于 2023-7-7 23:50:39 | 显示全部楼层




正需要,谢谢分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|翻墙党

GMT+8, 2026-9-28 23:48 , Processed in 0.060491 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表