共计 643 个字符,预计需要花费 2 分钟才能阅读完成。
查看百度统计的入口页面,发现有个奇怪的域名。
好家伙,直接解析到了我的网站上,同时发现直接输入 ip 也能访问博客。受不了,于是着手处理。
开始想到使用 nginx 的 default_server。
server {
listen 80 default_server;
server_name _;
return 444;
}
但是我的服务器这样配置不知道为什么不生效,如果 server_name 设置为 ip 就能匹配到,我觉得原因肯定就是没有匹配到。
突然想到 server_name 如果能匹配所有的字符,那么不管 ip 还是外部域名不就都会被拦截了吗?反正域名精确匹配优先,匹配到就直接进行反向代理了,没有配置的域名或者 ip 都走这个默认配置。
server {
listen 80 default_server;
server_name ~.*$;
return 444;
}
这样配置以后,发现 http 确实都不能访问,但是 https 还是可以访问的,此时需要这样配置就可以解决。
server {
listen 443 default_server;
server_name ~.*$;
ssl on;
ssl_certificate /etc/nginx/conf.d/cert/www.amjun.com.cer;
ssl_certificate_key /etc/nginx/conf.d/cert/www.amjun.com.key;
return 444
}
server {
listen 80 default_server;
server_name ~.*$;
return 444;
}
提醒:本文发布于729天前,文中所关联的信息可能已发生改变,请知悉!
AD:【腾讯云服务器大降价】2核4G 222元/3年 1核2G 38元/年
正文完