昨天才给网站装了个访问统计,才一天时间就发现好多老歪通过IP地址在“友好访问”我的网站。

以前没注意,今天试了下:通过IP地址也是能访问我的网站的,有点不爽(难看+不安全);

所以查看了下相关资料,发现是我的面板没有设置默认站点的原因,还有在宝塔面板管理SSL证书的地方有一句重要的提示::在未指定SSL默认站点时,未开启SSL的站点使用HTTPS会直接访问到已开启SSL的站点 就是这个B搞的鬼!

下面是解决方法:

314734ed.png
1.设置一个默认站点,先随意新建一个站点域名随便填(反正不存在)只要让这个站点打不开即可。
2.然后给这个站点一定要开启ssl,在SSL证书夹随便部署一个。
3.宝塔后台【网站】-【默认站点】设置成这个无法正常访问的站点,然后在用https://ip访问,发现打不开了也不显示其他已经开启SSL站点的内容了。
4.再把网站新建站点目录下的index.html删除掉,这样http://ip 也是403了。

P.s. 最好后台宝塔面板也绑定域名访问,然后改IP访问换成域名即可,端口和验证参数不变。

查看许可域名命令: cat /www/server/panel/data/domain.conf
关闭域名访问限制: rm -f /www/server/panel/data/domain.conf


更新:

由于上面的响应页太“善良”,每天总有几个逗比在POST试探什么(POST你妹啊,我都设置静态了你还POST个屁啊??)

祭出大杀器:

server {
    listen       80  default_server;
    server_name  _;
    return       444;
}

上面NGINX配置的意思是:对于任何未绑定域名的地址都将返回444状态码,也就是提示 “该网页无法正常运作,未发送任何数据”

NGINX官方 有这么一段解释:

In catch-all server examples the strange name “_” can be seen:

在catch-all服务器实例可以看出奇怪的名字 “_”

There is nothing special about this name, it is just one of a myriad of invalid domain names which never intersect with any real name. Other invalid names like “--” and “!@#” may equally be used.

这个名字没有什么特别的,它仅仅是一个许多无效的域名中的一个代表与任何真实的名字,永远不会相交。其它无效的名称,如“ - “ 和” !@# “也可同样使用。

当然,同时你也可以返回其它状态码;同时,对于其它的错误响应还可以设置一个重定向让它全部返回444

server {
error_page 500 502 503 504 =444 @blackhole;

  location @blackhole {
    return 444;
  }
}

扩展资料 Http状态码

HTTP 400 – 请求无效
HTTP 403 – 禁止访问
HTTP 404- 无法找到文件
HTTP 405 – 资源被禁止
HTTP 406 – 无法接受
HTTP 407 – 要求代理身份验证
HTTP 410 – 永远不可用
HTTP 412 – 先决条件失败
HTTP 414 – 请求 – URI 太长
HTTP 415 – 不支持的媒体类型
HTTP 416 – 所请求的范围无法满足。
HTTP 417 – 执行失败。
HTTP 423 – 锁定的错误。
HTTP 500 – 内部服务器错误
Error 501 – 未实现
HTTP 502 – 网关错误
HTTP 503 – 服务不可用
HTTP 504 – 网关超时
HTTP 505 – HTTP 版本不受支持
none