See #387
Motivation
Currently, connection rate limiting to prevent abuse is managed by an external haproxy (shipped under contrib/docker-compose/standalone), however this has several shortcomings:
- It is easy to (accidentally or intentionally) deploy hockeypuck without a (correctly configured) haproxy front end, which leaves the server open to spam.
- Operators who don't use the standalone docker-compose deployment must configure haproxy manually, which is challenging for non-experts and error-prone.
- Vanilla haproxy must be force-reloaded to pick up configuration changes, which has undesirable side effects (https://github.com/hockeypuck/hockeypuck/issues/366)
Design
Hockeypuck should be safe to deploy out of the box, i.e. it must include a reasonable rate-limiting configuration by default. This should include rate limiting and tor exit node abuse detection, as currently supported by the standalone haproxy.
Out of scope
TBC
Security considerations
TBC
Compatibility
TBC