This is my personal website to experiment and try out new things. The main topics are Linux, hardware and software, and the configuration of my home network.
celguard: Improvements
With celguard I introduced a Traefik plugin that filters incoming HTTP requests based on freely definable rules. A lot has changed since then: version 0.4.1 ships several improvements that make day-to-day use noticeably easier.
Real client IPs behind proxies
When running celguard behind a proxy or load balancer, the request shows the proxy’s address instead of the real client IP. The new source_ip option resolves the client IP from a header using a CEL expression:
Traefik Plugin: celguard
The development of “celguard” began with my desire to control access to my web services more flexibly and securely. While Traefik offers many possibilities, I wanted a solution that would allow rules to be adjusted dynamically and without complicated configurations.
After experimenting with various approaches, I discovered the Common Expression Language (CEL). With it, I was able to develop middleware that checks HTTP requests based on freely definable rules—without needing to restart the proxy.
Read more...