2010-05-04 85 views
0

如何設置使用Iptables的API訪問速率限制。試圖設置使用端口80的限制,但我不想完全限制網絡訪問。有沒有辦法指定一個子域而不是端口。示例:將速率限制設置爲api.example.com而不是example.com?如何使用Iptables設置對API的速率限制訪問?

如果無法通過子域設置速率限制,建議對端口80進行速率限制訪問而不會有阻止合法Web用戶的風險?每秒一個連接就足夠了?

回答

1

顧名思義,iptables支持IP地址。因此,如果您的api.example.com解析爲與www.example.com不同的IP地址,那麼您可以根據這些IP地址進行過濾。如果它們都解析爲相同的IP地址,則無法單獨對它們進行過濾。

合法用戶每秒一個連接仍然很低。當你下載一個頁面時,不要忘記你還必須下載所有的.js,.css,.jpg等文件,它們都來自同一個域。與Keep-Alive可以減少連接請求的數量,但你仍然有至少兩個,可能多達六個來自同一用戶(取決於他們的瀏覽器和配置)的同時請求。

如果這對你真的很重要,那麼你應該爲你的兩個獨立的子域設置唯一的IP地址並對其進行過濾。就我個人而言,我認爲在Apache級別過濾更合適。