如何使用Iptables设置API的速率限制访问权限。尝试使用端口80设置限制,但我不想完全设置对Web访问的限制。有没有办法指定子域而不是端口。示例:设置api.example.com的速率限制而不是example.com?
如果无法通过子域设置速率限制,建议的端口80限速访问是什么,而不会有阻止合法Web用户的风险?每秒一个连接就够了吗?
答案 0 :(得分:1)
顾名思义,iptables适用于IP地址。因此,如果您的api.example.com
解析为不同于www.example.com
的IP地址,那么您可以根据这些IP地址进行过滤。如果它们都解析为相同的IP地址,则无法单独过滤它们。
合法用户每秒一次连接仍然很低。下载页面时,不要忘记您还必须下载所有.js,.css,.jpg等文件,它们都来自同一个域。使用Keep-Alive
可以减少连接请求的数量,但是您仍然会有来自同一用户的至少两个,可能多达六个同时请求(取决于他们的浏览器和配置)。
如果这对您来说非常重要,那么您应该为两个单独的子域设置唯一的IP地址并对其进行过滤。就个人而言,我认为在apache级别过滤更合适。