设置 HTTPS 后,我最近发现我的域名遭受了缓存投毒攻击。我的服务器是 EC2,运行着一个 NGINX 服务器来为 Django 应用提供服务。
服务器会间歇性地在主页上抛出 403 错误,当我手动输入登录 URL 时,我收到 404 错误。在 DevTools 控制台中,我收到以下消息:
(索引):22 混合内容:页面位于'https://www.safespreadsheets.com/login/“已通过 HTTPS 加载,但请求了不安全的资源”http://www.iyfipgun.com/'。此请求已被阻止;内容必须通过 HTTPS 提供。
(索引):1 混合内容:页面位于'https://www.safespreadsheets.com/login/“已通过 HTTPS 加载,但请求了不安全的资源”http://www.iyfipgun.com/?dn=www.safespreadsheets.com&pid=9POL6F2H4'。此请求已被阻止;内容必须通过 HTTPS 提供。
我搜索了解决问题的方法,看起来这与 NGINX 处理其 DNS 缓存的方式有关。我还没有找到刷新缓存的方法(作为起点),也不知道如何确保缓存不会再次中毒。
任何帮助都将不胜感激。
编辑: 有人问我,在设置 HTTPS 后,我是如何得出这是 DNS 缓存中毒的结论的。
我调查了所有可能导致间歇性 403/404 错误的问题,修复了所有可能出错的问题。只有在我设置 HTTPS 后,404 错误(手动进入登录页面)才会产生上面指示的混合内容消息。我知道我的资源都不会以 HTTP 形式提供,我在 Google 上搜索了该域名,发现它是一个垃圾网站。
为了证明这一点,这里有一个页面调用的截图,显示 404 页面不是来自我的 IP 地址:
答案1
根据 Michael Hampton 的建议,我与 DNS 提供商进行了沟通,我们成功解决了问题。DNS 现在很安全,网站运行正常。