"我在网上搜相关信息,看到说用 https://ip 地址 是会暴露出源站 IP 的。但这不是也得先扫到这个 ip 才行吗?在我的理解里这应该至少需要一段时间。"
你看错了吧, 是 https://ip 能曝出默认的 ssl 域名。https://ip 本身就已经有 IP 了,还暴露啥
“可是我服务器被攻击后换了 IP,第二天马上新 IP 也被攻击了。”
每个运营商的 IP 总数是有限的,如果你没换运营商,没换区, 就更容易了。从头到尾再过一遍就好了。几个小时顶多了。
“我本来想按照网上教程设置一下禁止 ip 用 https 访问,但一直设置不对,总是会连域名的 https 访问都失败。”
可以告诉你设置的方法,楼上一些网友也说过了。 但是这个方案不能解决问题,所以没有讨论的必要。
再扫 IP 的方法如下(随便举个例子):
https://serverfault.com/questions/443949/how-to-test-a-https-url-with-a-given-ip-address这里 curl 可以覆盖 dns 请求按照指定的 IP 访问某域名。
锁定你服务器运营商的 IP 段,用你的域名挨个 IP 试,如果能连上了,并且证书也对的话,就找到你新的 IP 了。
解决方案只有一个,用防火墙 /iptables 只允许你的 cdn 们访问你的 443 端口。如果你还有别的服务需要用 443, 你就换成别的端口,反正你有 CDN 。