2010-05-04 8 views
0

Comment pouvez-vous définir un accès limité à l'API à l'aide de Iptables? J'ai essayé de définir une limite en utilisant le port 80, mais je ne veux pas définir une limite à l'accès Web entièrement. Existe-t-il un moyen de spécifier un sous-domaine plutôt qu'un port? Exemple: fixer la limite de débit à api.example.com pas exemple.com?Comment définir l'accès à la limite de débit à votre API à l'aide d'Iptables?

S'il n'y a aucun moyen de définir la limite de débit par sous-domaine, quel est l'accès à la limite de débit suggéré au port 80 sans risquer de bloquer un utilisateur Web légitime? Une connexion par seconde serait suffisante?

Répondre

1

Comme son nom l'indique, iptables fonctionne avec des adresses IP. Donc, si votre api.example.com a résolu une adresse IP différente de www.example.com, vous pouvez filtrer en fonction de ces adresses IP. Si tous les deux résolvent la même adresse IP, vous ne pouvez pas les filtrer séparément.

Une connexion par seconde pour les utilisateurs légitimes est encore assez faible. Lorsque vous téléchargez une page, n'oubliez pas que vous devez également télécharger tous les fichiers .js, .css, .jpg, etc. et qu'ils proviennent tous du même domaine. Avec Keep-Alive qui peut réduire le nombre de demandes de connexion, mais vous aurez toujours au moins deux, peut-être jusqu'à six demandes simultanées du même utilisateur (en fonction de leur navigateur et de la configuration).

Si cela vous importe vraiment, vous devez alors configurer des adresses IP uniques pour vos deux sous-domaines et filtrer dessus. Personnellement, je pense que le filtrage au niveau apache est plus approprié.