如何禁止通过IP访问?


如何完全禁止通过IP访问。
目前IP访问只会被WAF拦截。

是要实现 1Panel 系统禁止通过 IP 访问吗?

随便创建一个网站,并设置为默认站点。然后设置该网站的配置文件。黏贴以下代码,不需要SSL证书。

server {
    listen 80 default_server; 
    listen [::]:80 default_server; 
    server_name _; 
    # 关闭连接而不发送任何响应
    return 444; 
}
server {
    listen 443 ssl default_server; 
    listen [::]:443 ssl default_server; 
    server_name _; 
    # 拒绝 SSL 握手
    ssl_reject_handshake on; 
}
2 个赞

已成功,感谢陈老师。 :handshake:

不是默认80和443,请问怎么处理?
如截图,有报错呢…

不要用正常使用的中的网站来设置为默认站点!这样修改配置文件,肯定出错。
该方法是防止一些扫描器通过扫描IP来反推出网站的域名,从而将域名和IP对应,获悉你网站的IP。如下图:

使用1panel面板操作的话就是创建一个网站,选择静态网站,添加域名example.com(假域名,随便写的)。
然后将该站点设置为默认站点。接着去配置该网站,在配置文件里面黏贴如下代码,就可以了。


server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
# 关闭连接而不发送任何响应
return 444;
}
server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
server_name _;
# 拒绝 SSL 握手
ssl_reject_handshake on;
}

如果你的web服务器是非标准端口的话,同理,你随便创建个网站设置为默认站点,然后配置文件里面黏贴代码的时候端口修改一下,尝试下看看。我没验证过。

1 个赞

感谢解答 :+1:,我也没试过,已经通过别的办法规避了问题。