Skip to content

Add per-IP connection limits to SSE endpoint #346

@ogazboiz

Description

@ogazboiz

Join our community: https://t.me/+DOylgFv1jyJlNzM0

Description

The SSE endpoint has no connection limits per IP. A single client could open thousands of connections, exhausting server file descriptors.

What Needs to Happen

  • Track active connections per source IP in-memory
  • Max 5 concurrent connections per IP — return 429 with Retry-After: 60
  • Global max 10,000 connections via MAX_SSE_CONNECTIONS env var — return 503 at capacity
  • Clean up IP entry when all connections from that IP close
  • Expose per-IP peak in admin metrics

Files

  • backend/src/services/sse.service.ts
  • backend/src/routes/v1/events.routes.ts

Acceptance Criteria

  • 6th connection from same IP returns 429
  • Global capacity returns 503
  • IP map cleaned up on disconnect

Metadata

Metadata

Assignees

Labels

Stellar WaveIssues in the Stellar wave programbackendBackend related taskssecuritySecurity related tasks

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions