![选择性地阻止对 Azure VM 的 HTTP 请求而不使用 CPU 时间](https://linux22.com/image/685766/%E9%80%89%E6%8B%A9%E6%80%A7%E5%9C%B0%E9%98%BB%E6%AD%A2%E5%AF%B9%20Azure%20VM%20%E7%9A%84%20HTTP%20%E8%AF%B7%E6%B1%82%E8%80%8C%E4%B8%8D%E4%BD%BF%E7%94%A8%20CPU%20%E6%97%B6%E9%97%B4.png)
我在 Azure 中的虚拟机上运行 Web 服务器。在过去的几个月中,虚拟机受到大量垃圾请求的攻击,这些请求消耗资源(这会增加虚拟机费用)并降低其处理实际请求的能力。在配置 IIS 重写规则以删除大部分不良流量后,总体资源使用率已大幅下降,但服务器仍必须处理每个请求,然后才能知道忽略它。
我正在寻找一种方法,可以将 Azure 配置为阻止传入流量(至少通过用户代理或速率),这样我就不必安装一个花费我钱的自定义解决方案。这样的机制存在吗?我猜它可能是负载平衡器资源或类似资源上的一项功能,但找不到任何合适的东西。
答案1
VM 外部唯一的内置 IP 过滤机制是网络安全组和相关入站规则,您可以在其中指定要允许或阻止的 IP 范围。如果您使用的是经典 VM,则这表示为端点上的 ACL。
其他任何事情都需要您自己处理,无论是在 Web 服务器 VM 本身中还是在 Web 服务器前端的其他 VM 中(例如您自己的代理/负载平衡器安装)。