Entre le boulot et quelques projets informatiques pro/perso chronophages, j’accorde bien moins de temps au blog. Les aléas… Je devrais utiliser Microsoft au lieu de Linux et l’auto-hébergement, j’aurais plus de temps libre Mouhahahaha. Ah. Ah. Ah.
Depuis des années que j’héberge des services, j’utilise Nginx Proxy Manager. Je le préfère à Traefik pour sa simplicité, notamment sa WebUI. J’avais également en parallèle DDNS-Updater, ou plutôt une version adaptée, pour gérer mes enregistrements DNS.
Et un Crowdsec pour protéger tout ça.
J’ai simplifié mon infra il y a quelques temps grâce à Nginx Proxy Guard, mélange de Nginx Proxy Manager, de certaines fonctionnalités de CrowdSec et de DDNS Updater, le tout administrable depuis une interface unique.
En effet, NPG intègre un WAF basé sur ModSecurity et OWASP CRS, des protections contre les bots et les intrusions, du filtrage GeoIP, ainsi qu’un client DDNS compatible notamment avec Cloudflare que j’utilise. Il me manque juste la prise en charge d’Infomaniak, j’ai fait une PR.
| Feature | Nginx Proxy Guard | Nginx Proxy Manager |
|---|---|---|
| WAF | ModSecurity v3.0.15 + OWASP CRS v4.26.0 | Limited / none |
| ForwardAuth | Authelia/Authentik/Custom SSO, reusable auth providers | None |
| Bot Protection | 80+ malicious bots, 50+ AI bots, 40+ search engine whitelist | Basic blocking only |
| GeoIP | MaxMind integration, per-country blocking/challenge | Limited |
| HTTP/3 | Full QUIC support | Mostly unsupported |
| Challenge System | reCAPTCHA v2/v3, hCaptcha, Turnstile | None / basic |
| Log Analytics | GeoIP, visualization, advanced filtering, autocomplete | Basic logs only |
| Multilingual | Full Korean/English support | English only |
| Cloud Blocking | Block cloud IPs from AWS, Azure, GCP, and more | None |
| 2FA Authentication | TOTP + backup codes | Limited |
| Load Balancing | Upstream servers, health checks, 4 distribution methods | None |
| TCP/UDP Streams | L4 stream proxy (TCP/UDP), SSL preread/termination | None |
| DDNS | Cloudflare, DuckDNS, Dynu dynamic DNS auto-update | None |
| Filter Subscriptions | Subscribe to external bot/IP block lists with auto-update | None |
| Host Cloning | One-click cloning (including security settings) | None |
| Config Rollback | Automatic rollback on nginx -t failure | None |
| Security Header Presets | One-click Strict/Moderate/Relaxed presets | None / limited |
Qu’on suive le GitHub ou la documentation plus complète, ça s’installe très simplement en Docker. Si, comme moi, vous comptez migrer depuis NPM, voici un script qui permet d’aider. Et la PR liée.