Serverconfiguratie
Een goede serverinstelling is essentieel voor webapplicaties in productie. Hyperlane biedt twee manieren om je server te beheren: ServerConfig en RequestConfig.
ServerConfig beheert de HTTP-server zelf. Je gebruikt het om het volgende in te stellen:
- Address: Gebruik 0.0.0.0:80 om op alle interfaces te luisteren. Gebruik 127.0.0.1:8080 om de toegang te beperken tot je lokale machine.
- Nodelay: Stel dit in op true om de latentie te verminderen. Het verzendt kleine pakketten onmiddellijk in plaats van ze te bufferen.
- TTL: Hiermee stel je de Time to Live in voor uitgaande pakketten. Een waarde van 128 werkt in de meeste gevallen.
RequestConfig beheert individuele HTTP-verzoeken. Dit beschermt je server tegen uitputting van resources en aanvallen. Je kunt deze limieten instellen met behulp van JSON:
- buffer_size: De grootte van de leesbuffer in bytes.
- max_path_size: De maximale lengte van het URL-pad.
- max_header_count: De limiet op het aantal headers per verzoek.
- max_body_size: De maximaal toegestane grootte van de request body. Dit voorkomt denial-of-service-aanvallen.
- read_timeout_ms: De tijdslimiet voor het lezen van verzoekgegevens.
Hyperlane stelt je in staat om deze instellingen te laden vanuit een JSON-string. Dit maakt het eenvoudig om omgevingsvariabelen te gebruiken in gecontaineriseerde omgevingen.
Best practices voor productie:
- Gebruik JSON voor configuratie. Dit maakt deployments flexibel.
- Stel strikte verzoekslimieten in. Stem je max_body_size af op je werkelijke behoeften.
- Schakel nodelay in voor API-servers om de latentie laag te houden.
- Stel read timeouts in. Dit voorkomt dat trage