![IIS 中的 WAF 和 CDN 问题](https://linux22.com/image/738375/IIS%20%E4%B8%AD%E7%9A%84%20WAF%20%E5%92%8C%20CDN%20%E9%97%AE%E9%A2%98.png)
我正在使用 GoDaddy 的网站应用防火墙 (WAF) 和内容交付网络 (CDN),它与 sucuri 类似,并带有一个 IIS 托管网站。但是,自从网站开始使用 WAF 和 CDN 以来,我遇到了一些麻烦。我似乎无法从任何 IP 地址访问某些管理链接(例如 domain.com/login)。我当前的 IP 地址已列入 godaddy 面板的白名单。我还对该 /login 目录进行了 IIS IP 限制,以仅允许我的 IP 地址,但这种方法不再有效。
我通过更改计算机的域名主机 IP 进行了测试,这样我就可以从服务器的原始 IP 地址访问 domain.com/login 页面,但不能从 WAF 或 CDN IP 访问。但是,我不喜欢这个选项。
关于如何使 IIS 与 WAF 和 CDN 良好配合的任何想法,或者这甚至是 IIS 问题或 GoDaddy 端的某种类型的 DNS 或其他问题?
答案1
导致此问题的是您网站的 IP 地址和域限制设置中的 IP 限制。使用 WAF 时,访问您 Web 服务器的是 WAF 的 IP 地址,而不是您的 IP。
看:https://www.godaddy.com/help/set-up-my-web-application-firewall-waf-and-cdn-26813
您可能需要设置除 IP 限制之外的另一种形式的访问控制。
例如,CloudFlare 具有访问策略,可以根据您的真实客户端 IP 地址或通过电子邮件发送的临时令牌来控制访问。GoDaddy 可能有类似的东西?
WAF 通常旨在阻止 Web 服务器上任何类型的“危险”流量,并且可以阻止管理网站或控制面板的正常运行,尤其是当管理员用户通过网站的管理部分发布 HTML 内容时。
例如,CloudFlare 的 WAF 会阻止某些 CMS 编辑工具(如 Umbraco)。需要使用页面规则关闭 Umbraco 文件夹的 WAF,或手动调整 WAF 规则集。如果删除了 WAF,建议启用另一种形式的访问控制。