𝗖𝗼𝗻𝗳𝗶𝗴𝘂𝗿𝗮𝘁𝗶𝗼𝗻 𝗱𝘂 𝗦𝗲𝗿𝘃𝗲𝘂𝗿
Une configuration adéquate du serveur est essentielle pour les applications web en production. Hyperlane vous offre deux façons de gérer votre serveur : ServerConfig et RequestConfig.
ServerConfig gère le serveur HTTP lui-même. Vous l'utilisez pour définir :
- Address : utilisez 0.0.0.0:80 pour écouter sur toutes les interfaces. Utilisez 127.0.0.1:8080 pour restreindre l'accès à votre machine locale.
- Nodelay : réglez cette option sur true pour réduire la latence. Elle envoie immédiatement les petits paquets au lieu de les mettre en mémoire tampon.
- TTL : cela définit le Time to Live pour les paquets sortants. Une valeur de 128 convient à la plupart des cas.
RequestConfig gère les requêtes HTTP individuelles. Cela protège votre serveur contre l'épuisement des ressources et les attaques. Vous pouvez définir ces limites à l'aide de JSON :
- buffer_size : la taille du tampon de lecture en octets.
- max_path_size : la longueur maximale du chemin de l'URL.
- max_header_count : la limite du nombre d'en-têtes par requête.
- max_body_size : la taille maximale autorisée du corps de la requête. Cela empêche les attaques par déni de service.
- read_timeout_ms : la limite de temps pour la lecture des données de la requête.
Hyperlane vous permet de charger ces paramètres à partir d'une chaîne JSON. Cela facilite l'utilisation de variables d'environnement dans des environnements conteneurisés.
Bonnes pratiques pour la production :
- Utilisez le JSON pour la configuration. Cela rend les déploiements flexibles.
- Définissez des limites de requête strictes. Adaptez votre max_body_size à vos besoins réels.
- Activez nodelay pour les serveurs API afin de maintenir une latence faible.
- Définissez des délais d'expiration de lecture (read timeouts). Cela empêche les clients lents de maintenir des connexions ouvertes.
- Liez le serveur à des interfaces spécifiques au lieu de 0.0.0.0 lorsque cela est possible.
Hyperlane vous donne le contrôle via le code ou le JSON. Cette approche à deux niveaux garantit que votre serveur reste rapide et sécurisé.
Project Code: https://github.com/hyperlane-dev/hyperlane Source: https://dev.to/tengxgfyrz67s/server-configuration-1dp9