Changeset c72e45e in Klonkt for src/server.js


Ignore:
Timestamp:
08/08/2026 11:18:23 PM (4 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
82c3356
Parents:
c49808e
Message:

Trust proxy hoort bij waar je draait, niet bij dev of prod (Barts 429-jacht)

De wortel van drie klachten tegelijk. klonkt-dev draait NODE_ENV=
development ACHTER Caddy, en trust proxy hing aan !isDev: voor elk
verzoek was req.ip dus 127.0.0.1, en de hele wereld deelde EEN
rate-limit-emmer van 300/min met de honderd kudde-daemons van de
caseload-test. De kudde leegde hem; Barts refresh kreeg 'Too many
requests', en de live-lus van de app verhongerde aan dezelfde 429's --
die schakelt bij fouten terug naar een poging per minuut, dus 'live
hulpaanvragen komen niet binnen' was hetzelfde gat.

TRUST_PROXY=1 (nu in dev's .env) zet hem aan waar een proxy voor de
deur staat; kaal-op-poort blijft uit, want een direct bereikbare server
die X-Forwarded-For vertrouwt laat iedereen zijn eigen IP kiezen -- en
daarmee de limiter omzeilen.

De push bleek intussen NIET stuk: push_subscriptions.last_ok_at staat op
22:57:54, seconden na de hulpvraag van @mee -- de server leverde met
succes bij FCM af. Wat er daarna met de notificatie gebeurt is aan het
ontvangende toestel (permissie, service worker, niet-storen), niet aan
deze kant.

Co-Authored-By: Claude Opus 5 <noreply@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/server.js

    rc49808e rc72e45e  
    179179// Without this, Express sees req.protocol === 'http' and won't issue secure
    180180// cookies — sessions never persist past the redirect after login.
    181 if (!isDev) app.set('trust proxy', 1);
     181// Trust proxy hoort bij WAAR JE DRAAIT, niet bij dev/prod (Barts 429-jacht,
     182// 9-8): klonkt-dev draait NODE_ENV=development ACHTER Caddy, en zonder trust
     183// proxy was req.ip voor elk verzoek 127.0.0.1 -- de hele wereld plus de
     184// honderd kudde-daemons deelden EEN rate-limit-emmer van 300/min. De kudde
     185// leegde hem, en Barts refresh kreeg 'Too many requests' terwijl de live-lus
     186// aan dezelfde 429's verhongerde. TRUST_PROXY=1 zet hem aan waar een proxy
     187// voor de deur staat; kaal-op-poort blijft hem uit laten, want een direct
     188// bereikbare server die X-Forwarded-For vertrouwt laat iedereen zijn eigen
     189// IP kiezen -- en daarmee de limiter omzeilen.
     190if (!isDev || process.env.TRUST_PROXY === '1') app.set('trust proxy', 1);
    182191
    183192// Collapse leading duplicate slashes in the path. A reverse proxy that proxies with
Note: See TracChangeset for help on using the changeset viewer.