【技术分享】防止根据IP查域名,防止源站IP泄露

文章讲述了如何通过Nginx配置防止IP直接访问网站,包括设置假域名、使用return444指令,以及利用ssl_reject_handshake来拒绝不合法的SSL握手。此外,还介绍了使用自签名证书创建假的HTTPS连接,以防止未授权的IP访问并显示错误信息。
摘要由CSDN通过智能技术生成

有的人设置了禁止 IP 访问网站,但是别人用 https://ip 的形式,会跳到你服务器所绑定的一个域名网站上

直接通过 https://IP, 访问网站,会出现“您的连接不是私密连接”,然后点高级,会出现“继续前往 IP”,然后点击后会跳到你服务器上的一个域名网站!

为了防止上面这种情况,所以继续看:

新建站点

网站——添加站点——域名随便写一个不存在的,如:ha.haha——PHP 版本:纯静态,配置里添加 return 444;

设置默认站点

默认站点设置为上面所建的一个假域名网站 ha.haha

禁止 IP 访问网站

就是上面新建站点时的 return 444; 设置,一定要设置。 禁止 IP 访问网站,防止服务器被恶意解析

进阶方法

ClientHello 中是带着 SNI 的,所以其实握手阶段是可以知道访问的域名是否合法的,NGINX 1.19.4 中添加了一个新的配置项 ssl_reject_handshake 用于拒绝握手,也就不会提供证书。

使用方法也很简单,将原本默认配置中的 return 444 替换成 ssl_reject_handshake on 即可。

server {
 listen 443 default_server;
 server_name _;
 include conf.d/ssl.config;
 # 不用返回 444 了,直接拒绝握手 
 ssl_reject_handshake on;
 # return 444;
}

复制

配置后,再尝试 IP 访问,会发现浏览器报了 ERR_SSL_UNRECOGNIZED_NAME_ALERT 的错误,也看不到证书信息。

套用假证书

通过自签名证书,自签一个假的证书(假域名,假信息),然后套在上面假的域名网站上。 创建自签名 SSL 证书

到此完成。

此时通过 https://IP, 访问网站,会出现“您的连接不是私密连接”,然后点高级,会出现“继续前往 IP”,然后会出现“ERR_HTTP2_PROTOCOL_ERROR”错误,无法访问此网站提示!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员白城

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值