2024-02-01 10:45:10,某些文章具有时效性,若有错误或已失效,请在下方留言。说明
有的人设置了禁止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证书
到此完成 ::aru:thumb:: 。

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













![表情[ciya]-傲绝博客](https://img.alicdn.com/imgextra/i1/4035900312/O1CN01bwfZaC1EAwVsWYfiK_!!4035900312.gif)




暂无评论内容