Problem
Current rate limiting relies solely on IP addresses, which can be unreliable behind proxies/CDNs and doesn't account for authenticated users who should have different limits.
Solution
Implement enhanced rate limiting with user-based limits, better proxy handling, and configurable limit tiers.
Tasks
Rate Limiting Tiers
- Anonymous: 5 requests/hour
- Authenticated: 50 requests/hour
- Premium: 200 requests/hour
- Admin: Unlimited
Proxy Handling Improvements
- Better X-Forwarded-For parsing
- Support for X-Real-IP headers
- Cloudflare CF-Connecting-IP support
- Rate limiting by user session when IP is unreliable
Acceptance Criteria
- Rate limits work correctly behind proxies/CDNs
- Different user tiers have appropriate limits
- Rate limiting state is shared across server instances
- Users receive clear rate limit information in responses
- Rate limiting doesn't break legitimate usage patterns
Priority
Medium - Important for fair usage but current implementation works
Related
Rate limiting concerns from PR #12 code review
Problem
Current rate limiting relies solely on IP addresses, which can be unreliable behind proxies/CDNs and doesn't account for authenticated users who should have different limits.
Solution
Implement enhanced rate limiting with user-based limits, better proxy handling, and configurable limit tiers.
Tasks
Rate Limiting Tiers
Proxy Handling Improvements
Acceptance Criteria
Priority
Medium - Important for fair usage but current implementation works
Related
Rate limiting concerns from PR #12 code review