使用Cloudflare建站的童鞋,大部分目的都是为了隐藏服务器IP,但是 nginx 常规配置会影响你的 IP 隐藏,比如下面配置,相信大家都很熟悉:
server {
listen 80;
listen [::]:80;
server_name xxx.com;
location / {
return 301 https://$server_name$request_uri;
}
}
如果你服务器上有这种配置,运行下面命令就可以获取你的域名了(假设你的IP是 1.2.3.4)
curl -v -k http://1.2.3.4
或者直接点,直接浏览器输入 http://1.2.3.4 也会跳转到你的域名。解决办法是,直接删除上面 80 端口配置,只保留 443 端口配置。
这里又有人问了,443端口也可以用类似命令扫描呀!对,防止443端口被扫,俺们只要配置 ssl_reject_handshake
插件就好了