// Blog
Articles
Updates, new packages, and technical notes from deb.myguard.nl
njs + QuickJS-NG on NGINX: real JavaScript in your web server, finally
Stock njs is an ES5.1 subset with selected ES6 bits and a wall behind every modern feature. Rebuild it against QuickJS-NG and you get a real ES2023 runtime inside NGINX — async/await, BigInt, Proxy, dynamic import(), modern regex, Intl, the lot. Here is what changes, how the build wires it together, and copy-paste examples.
Postfix 3.11: Post-Quantum TLS, TLSRPT, Milters and the Modern MTA Stack
In May 1998, Wietse Venema released the first public alpha of a mailer he’d been writing inside IBM Research and originally called…
Google Instant Indexing API for WordPress: end-to-end setup (service account, JWT, OAuth2)
Service account, JWT signing, OAuth2 dance, JSON key paste — the complete setup for Google’s Instant Indexing API on WordPress, with verified quota via Cloud Monitoring and an honest take on what it actually does for non-JobPosting content.
Self-Hosting Aptly: Run Your Own Debian APT Repository Behind NGINX
Aptly turns a folder of .deb files into a real signed APT repository — the same way deb.myguard.nl serves thousands of packages. Here is the full self-hosting walkthrough: install, sign, publish, NGINX, automation.
HTTP/3 and QUIC on NGINX: Real-World Setup, Tuning, and Gotchas (2026)
HTTP/3 finally works in mainline NGINX, but the config has sharp edges. Here is the real-world setup, the UDP sysctl knobs that actually matter, and the gotchas (alt-svc, MTU, ModSecurity, load balancers) that bite you in production.
Hardened OpenSSH 10.3 for Debian and Ubuntu: PQ Crypto, AppArmor, 3 sshd Flavours
The myguard OpenSSH 10.3 package rebuilds sshd for production servers: post-quantum key exchange, AEAD-only ciphers, an AppArmor profile, a fail2ban jail, monthly moduli regeneration, three switchable sshd flavours (default / gssapi / minimal), and compiler hardening beyond Debian’s default. Includes a 2026 SSH key-generation walkthrough and a stack of server-hardening tips.
Docker Hardening for Self-Hosters: Rootless, Read-Only, Cap-Drop, Distroless (2026 Guide)
Default Docker is barely a container at all — root, mutable, all caps, shared kernel. This is the ten-flag hardening checklist that turns it into something a real attacker has to work to break: rootless, read-only, cap-drop, no-new-privileges, distroless, secrets, segmentation, scanning. With a worked NGINX + PHP-FPM compose example.
Curl Patches Record Number of AI-Found Vulnerabilities (And Anthropic Mythos Barely Helped)
Curl is shipping a record-breaking security release after AI tools dredged up eleven vulnerabilities — including its oldest bug ever. So why did Anthropic mysterious Mythos model only find one tiny issue? Let us unpack the whole story.
Rspamd Explained: How Modern Spam Filtering Actually Works (Bayes, Neural Nets, RBLs and All the Cool Tricks)
Rspamd is the modern spam filter that runs Bayesian classifiers, neural networks, greylisting, DNS blacklists, Pyzor, Razor, OLEFY and DCC — all at once. Here is what rspamd does, how spam evolved, and why it crushes the inbox war.
Valkey Explained: The Redis Fork That Actually Won (And Why Our Debian Package Is Worth It)
Valkey is the BSD-licensed, Linux Foundation-backed fork of Redis — and as of 2026 it has overtaken Redis itself. Here is what Valkey is, why it exists, and why our hardened deb.myguard.nl build is the smartest way to install it on Debian or Ubuntu.
Self-Hosted Vaultwarden: Docker Setup, Clients & Full Guide
Run your own password manager with self-hosted Vaultwarden — a tiny Docker image, full Bitwarden client compatibility, and total control over your encrypted vault.
What Is the BREACH Attack? How It Works and How to Stop It
BREACH is a compression side-channel attack that can leak CSRF tokens and other secrets over HTTPS. Here is how the BREACH attack works, why padding is weak protection, and how to prevent it properly.
What Is Zstd? NGINX, Angie, History and Browser Support
Zstd is the fast compression format suddenly showing up in browsers, package managers, and modern web stacks. Here is what it is, where it came from, which browsers and web servers support it, and how to use it with NGINX and Angie today.
Database Boost: Free WordPress Database Optimization Plugin
Meet Database Boost, the free WordPress database optimization plugin that cleans, repairs, optimizes and indexes your database — and actually explains every step in plain English.
How to Install ModSecurity and OWASP CRS on NGINX (Step-by-Step)
A beginner-friendly, step-by-step guide to installing ModSecurity and the OWASP Core Rule Set on NGINX for Debian and Ubuntu — from zero to a live WAF without taking your site down.
Zstd vs Brotli vs zlib-ng: The NGINX Compression Deep Dive
Zstd vs Brotli vs zlib-ng only makes sense once you separate browser encodings from compression engines. This deep dive covers support, CPU trade-offs, static vs dynamic compression, and the NGINX production patterns that actually work.
Angie 1.11.5 Released: 5 Security Fixes Explained
Angie 1.11.5 fixes five upstream security issues, including HTTP/3, OCSP, rewrite, SCGI/UWSGI, and charset handling hardening. Here is what changed and why it matters.
nginx 1.31.0 Released: Six CVEs Fixed, HTTP/2 Hardened, and a Buffer Overflow Worth Knowing About
nginx 1.31.0 is out — six security fixes including a critical buffer overflow in the rewrite module that could lead to arbitrary code execution. Here is what changed, what is at risk, and how to upgrade from our repo.
WordPress Hardening Plugin for ModSecurity CRS: Block Attacks Without Touching Your PHP
The wordpress-hardening-plugin adds 25+ targeted ModSecurity rules on top of OWASP CRS to lock down xmlrpc.php, the REST API, wp-login.php brute force, GeoIP access control, and IP reputation blocking — all without a single line of PHP.
WordPress NGINX Configuration: PHP-FPM Tuning, FastCGI Cache and Redis (2026 Guide)
The complete WordPress + NGINX + PHP-FPM setup for Debian and Ubuntu: server block config, pool tuning, FastCGI caching for anonymous traffic, Redis object cache, Brotli compression, and security hardening with ModSecurity and Snuffleupagus.
NGINX Load Balancing: Upstream Config, Health Checks and Failover
NGINX load balancing distributes traffic across multiple backends with automatic failover. This guide covers all five load balancing algorithms, passive health checks, keepalive connection pooling, backup servers, and TCP/UDP load balancing.
NGINX Reverse Proxy Configuration: The Complete Setup Guide
A reverse proxy puts NGINX in front of your Node.js, Python, or PHP backend — handling SSL termination, caching, buffering, and security. This guide covers proxy_pass, upstream keepalive, caching, WebSocket proxying, and security headers.
NGINX Rate Limiting: Protect Your Server from Bots, Scrapers and Brute Force
NGINX rate limiting with limit_req_zone stops credential stuffing, scrapers, and DDoS floods before they reach your application. This guide covers burst handling, per-endpoint limits, IP whitelisting, WordPress-specific config, and Redis-backed cross-server limiting.
NGINX Brotli Compression: Install, Configure and Pre-Compress Static Assets
Brotli achieves 15-26% better compression than gzip on HTML, CSS, and JavaScript. This guide covers installing the NGINX Brotli module, configuring on-the-fly compression, pre-compressing static assets at level 11, and running Brotli alongside gzip.
NGINX on Debian 13 Trixie: What Changed and How to Upgrade
Debian 13 Trixie brings GCC 14, OpenSSL 3.3, PHP 8.4, systemd 256, and a newer Linux kernel. Here is what each change means for your NGINX and Angie setup, with a complete upgrade checklist.
NGINX on Debian 13 Trixie: Install, Modules and Modern Stack (2026)
Debian 13 — codename Trixie — is the current Debian stable release, and the safest, most boring, most production-friendly Linux to run…
PHP Snuffleupagus Tutorial — Harden PHP-FPM on Debian and Ubuntu (2026)
A friendly, jargon-free walkthrough: install Snuffleupagus from the myguard APT repo, pick the right rulebook for your stack (WordPress, Roundcube, generic PHP, internal agent), wire it into a PHP-FPM pool, and avoid the 5 traps that bite everyone the first time.
Postfix + Dovecot Mail Server Setup on Debian 12 and 13 (2026 Guide)
A complete Postfix + Dovecot + Rspamd mail server on Debian 12 and 13 — with TLS, DKIM, SPF, DMARC, spam filtering, virtual mailboxes, security hardening, and a 10/10 score on mail-tester.com. No shortcuts.
NGINX ModSecurity Setup on Debian and Ubuntu: WAF with OWASP Core Rule Set
ModSecurity v3 with the OWASP CRS blocks SQL injection, XSS, shell injection, and scanner traffic at the HTTP layer. This guide covers installation, CRS paranoia levels, WordPress tuning, false positive handling, and performance impact.
NGINX vs Apache Benchmark 2026: Performance, Memory and Real-World Throughput
NGINX beats Apache at static files and high concurrency; Apache wins on .htaccess flexibility and legacy app compatibility. Benchmark tables for static files, PHP-FPM, TLS handshakes, and memory under load.
How to Enable HTTP/3 on NGINX for Debian and Ubuntu (QUIC Guide 2026)
HTTP/3 runs on QUIC over UDP, eliminating TCP head-of-line blocking and enabling 0-RTT connection resumption. This guide covers installation, configuration, 0-RTT security, load balancer setup, and performance tuning.
OpenSSL 4.0 for NGINX: Upgrading openssl-nginx from 3.x to 4.0 — What Changes and Why It Matters
We just upgraded our openssl-nginx package from OpenSSL 3.x to OpenSSL 4.0. This guide explains what openssl-nginx is, what changed in version 4.0, the real pros and cons of upgrading, and how to do it safely on your Debian or Ubuntu server.
zstd-nginx-module: What Broke, What We Fixed, and Why It Matters
The first audit found 22 issues, but the last two weeks of git history added 14 more issue-level fixes. This updated guide covers the full 36-issue fork-window story, the runtime and build bugs, and the CI tests now guarding the module.
Angie Web Server: The Complete Guide — Review, ACME, Migration, API and HTTP/3
Everything about Angie in one place: what it adds over NGINX (native ACME, JSON API, dynamic upstreams, monthly releases), how it performs, how to migrate from NGINX in five minutes, full ACME certificate setup, Prometheus monitoring, and a side-by-side comparison with NGINX Plus.
The Enigma Machine: How Nazi Germany’s “Unbreakable” Code Got Absolutely Demolished
Nazi Germany built a cipher machine with 158 quintillion possible settings and called it unbreakable. They were wrong. Here’s the full story of the Enigma machine, the brilliant misfits at Bletchley Park who cracked it, and why the whole thing matters for every padlock icon in your browser today.
Post-Quantum Cryptography with NGINX and Angie: ML-KEM, Hybrid TLS and Why Your HTTPS Needs a Quantum Upgrade
ML-KEM (Kyber) is in OpenSSL 3.5. Chrome has shipped hybrid X25519+ML-KEM since 2024. Here is what post-quantum TLS actually is, why it matters before quantum computers exist, and exactly how to configure NGINX and Angie for hybrid PQC key exchange today.
TLS Configuration for NGINX and Angie: The Complete Guide to Getting A+ on SSL Labs
Learn how to configure TLS for maximum security and achieve a perfect A+++ rating on SSLLabs. A comprehensive guide covering cipher selection, certificates, and cryptographic best practices.
Google PageSpeed for NGINX: What It Was, Why It Died, and What to Use Instead
Google PageSpeed was the magic module that automatically made your website faster — until Google quietly walked away from it. Here’s the full story: what PageSpeed actually did, why it’s now effectively dead on NGINX and Angie, and what you should use instead.
NGINX and Angie on Kubernetes: Helm, Ingress, WAF, HTTP/3 and TLS Guide
If your team has finally pushed everything into Kubernetes and you are wondering how to put a sensible web server in front…
openssl-nginx: The Dedicated OpenSSL Built Just for NGINX and Angie
Your server’s system OpenSSL juggles SSH, apt, Python, and your web server all at once. openssl-nginx says no to that. Here’s the dedicated OpenSSL built exclusively for NGINX and Angie — faster handshakes, post-quantum crypto, kernel TLS offload, zero legacy bloat.
docker-cms: The PHP 8.5 Docker Image That Makes WordPress Admin Actually Fun
docker-cms is a PHP 8.5 Docker container loaded with WP-CLI, Composer, Xdebug, database clients, and every tool you need to maintain and debug WordPress — without touching your live server.
Nginx & Angie: The Expert Guide to Maximum Performance and Security
The complete guide to building and running an optimised Nginx or Angie server on Debian and Ubuntu — HTTP/3, TLS 1.3, brotli, ModSecurity WAF, FastCGI caching, and eight layers of WordPress defence. Every directive explained.
NGINX NJS: Write JavaScript Inside Your Web Server (Yes, Really)
NJS is NGINX’s built-in JavaScript engine — write real JavaScript that runs inside your web server at request time, with no Node.js, no external services, and microsecond latency.
NGINX Lua Module: Your Web Server Just Got a Superpower
The NGINX Lua module (ngx_http_lua) runs Lua/LuaJIT scripts inside NGINX worker processes — Redis rate limiting, JWT auth, LRU caching, dynamic routing, all without blocking a single request.
Hardening PHP with PHP-Snuffleupagus: Block SQL Injection, XSS and Dangerous Functions Inside PHP-FPM
Most WAFs sit outside PHP and can be tricked. PHP-Snuffleupagus lives inside the PHP interpreter itself — blocking dangerous functions, SQL injection, XSS, type juggling, and deserialization attacks where attackers can’t reach. This is what defence in depth actually looks like.
nginx-minimal: The Lean NGINX Build for WordPress, PHP, and Docker (2026)
nginx-minimal strips 12 unused static modules from NGINX while keeping HTTP/3, TLS 1.3, jemalloc, zlib-ng, and all 50+ dynamic modules. Smaller binary, smaller attack surface, same blazing speed. Perfect for WordPress, PHP-FPM, and Docker.
nginx-core, nginx-full, nginx-light Are Gone — Here’s What to Use Instead (2026)
Debian deprecated nginx-core, nginx-full, and nginx-light. Don’t panic — the replacements are actually better. Here’s what happened, why it’s good news, and exactly what to install instead.