Server-hardening: versie-header onderdrukken + socket-timeout (docs/aanbeveling-productieserver.md) #41
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Naar aanleiding van een externe black-box review (zie
docs/aanbeveling-productieserver.md). Van de vier bevindingen waren #3 (body-limiet) en #4 (exception-hygiëne) al opgelost sinds #32/#36. Deze issue dekt de resterende twee quick wins uit optie A:server_version/sys_versionopHandlerzodat deServer-header niet langer de exacte Python-versie lekt.timeout = 30opHandler(socket-timeout) tegen een slowloris-achtige trage client die met maar een handvol reuseport-workers een worker kan gijzelen.Bewust NIET gedaan:
protocol_versionopHTTP/1.1zetten (stond ook in het document)._stream_check()(de NDJSON-voortgangsstream) stuurt geenContent-Lengthen leunt op verbinding-dicht om het einde te signaleren — HTTP/1.1 keep-alive zou die framing breken. De socket-timeout werkt onafhankelijk vanprotocol_version, dus dat is geen blocker voor deze twee wins.Getest lokaal:
Server-header bevestigd aangepast, normale en streaming/api/checkblijven werken, volledige regressietest +test_gipod_verfijning.py+node --checkgroen.Gedeployed in
ff1108e, live geverifieerd:Server-header toont nu alleenomleidingchecker(geen Python-versie meer), en /api/check werkt gewoon door op productie.