Sample
Enable express trust proxy to resolve client IP, HTTPS protocol, and forwarded host behind reverse proxies without silently ignoring X-Forwarded headers
sha256:91407f3e83bfceb9b5d36d67130853425cc7c6e45d5ac8532a6043cae432b0a7
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Case
- Goal
- Enable express trust proxy to resolve client IP, HTTPS protocol, and forwarded host behind reverse proxies without silently ignoring X-Forwarded headers HOW
- Packages
- express 5.1.0
- Environment
- node
- Created
- 2026-08-16T06:30:14Z
Contract
- start express app without trust proxy and verify req.ip ignores X-Forwarded-For
- start express app with trust proxy loopback and verify req.ip extracts client IP
- verify req.ips contains upstream client IP chain
- verify req.protocol evaluates to https from X-Forwarded-Proto
- verify req.secure evaluates to true when proxied over https
- verify req.hostname extracts domain from X-Forwarded-Host
- start express app with subnet trust proxy and verify multi-hop X-Forwarded-For chain extraction
Files
- NOTES.md
- csx.json
- package-lock.json
- package.json
- src/app.mjs
- test/contract.mjs
Download the verified artifact (tar.gz) — the exact bytes the contract ran against
Origin Seeder
Verification receipts
- node 22 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-16 · ed25519:d91480838ac982c9