<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
  <url>
    <loc>https://daniele-michelin.com/blog/betrugs-radar-aktuelle-phishing-warnungen/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/betrugs-radar-aktuelle-phishing-warnungen.png</image:loc>
      <image:title>Betrugs-Radar: aktuelle Phishing-Mails und Fake-SMS erkennen</image:title>
      <image:caption>Mein neues Betrugs-Radar sammelt aktuelle Betrugsmaschen, erklärt sie verständlich und sagt, was zu tun ist. So funktioniert es, und so erkennst du Betrug.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/blog/dns-umzug-ohne-ausfall/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/dns-umzug-ohne-ausfall.png</image:loc>
      <image:title>DNS-Umzug ohne Ausfall: TTL, Zonen-Export, Checkliste</image:title>
      <image:caption>Hosting oder DNS-Anbieter wechseln, ohne dass Website und E-Mail ausfallen: TTL senken, Zone exportieren statt abtippen, vorab testen — mit Checkliste.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/blog/e-mail-faelschung-ranking-102-domains/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/e-mail-faelschung-ranking-102-domains.png</image:loc>
      <image:title>Lassen sich diese Domains fälschen? SPF und DMARC im Test</image:title>
      <image:caption>SPF, DMARC und MTA-STS von 102 bekannten Domains: 59 weisen gefälschte Mails ab, 21 beobachten nur mit p=none, 6 haben kein DMARC. Banken, Deutschland, Italien.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/blog/e-mail-spam-spf-dkim-dmarc/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/e-mail-spam-spf-dkim-dmarc.png</image:loc>
      <image:title>SPF, DKIM und DMARC erklärt: Mails nicht mehr im Spam</image:title>
      <image:caption>SPF, DKIM und DMARC einfach erklärt: was jedes prüft, warum Mails trotz SPF im Spam landen, wie man Header liest — mit Tabelle, Befehlen und Checkliste.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/blog/fallnotiz-linux-no-space-left/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/fallnotiz-linux-no-space-left.png</image:loc>
      <image:title>Fallnotiz: No space left on device trotz freiem Speicher</image:title>
      <image:caption>Fallnotiz: „No space left on device“, aber df zeigt freien Platz? Meist sind Inodes voll oder gelöschte Dateien noch offen. Diagnose mit df -i, lsof +L1…</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/blog/fallnotiz-nextcloud-423-locked/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/fallnotiz-nextcloud-423-locked.png</image:loc>
      <image:title>Fallnotiz: Nextcloud „File is locked“ (423 Locked) beheben</image:title>
      <image:caption>Fallnotiz: Nextcloud meldet „is locked“ oder 423 Locked? Hängende Dateisperren nach Abbrüchen. So prüfen Sie Redis-Locking, Cron und entfernen alte Locks…</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/blog/halloween-token-monster-bild-gegen-video/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/halloween-token-monster-bild-gegen-video.png</image:loc>
      <image:title>Halloween: Das Token-Monster frisst lieber Videos als Bilder</image:title>
      <image:caption>Ein Halloween-Bild oder ein kurzes KI-Video? Ein konkretes Beispiel mit 1.120 gegen 28.960 Output-Token – und warum der Vergleich nicht die ganze Rechnung ist.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/blog/ki-assistent-fuer-die-eigene-website/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/ki-assistent-fuer-die-eigene-website.png</image:loc>
      <image:title>KI-Assistent für die eigene Website: Chat und Sprache, lokal gehostet</image:title>
      <image:caption>Aus einem lokalen KI-Telefon-Empfang wurde ein Assistent für meine Website: Widget, nginx-Proxy, Sprache auf dem Mac, Terminbuchung, Datenschutz.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/blog/n8n-daten-orakel/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-daten-orakel.png</image:loc>
      <image:title>Just for fun: ein n8n-Orakel aus Live-Daten</image:title>
      <image:caption>Ein n8n-Workflow zum Spaß: drei Live-Datenquellen parallel, Mondphase per Code, eine KI als Wahrsagerin und Tarotkarten zum Teilen. Mit Download.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/blog/n8n-erd-orchester/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-erd-orchester.png</image:loc>
      <image:title>Erd-Orchester: Erdbeben und Sonnenaktivität werden Musik</image:title>
      <image:caption>Das Erd-Orchester macht aus USGS-Erdbeben und dem NOAA-Kp-Index Töne und Animationen. Live ausprobieren, musikalische Regeln verstehen, n8n-Workflow laden.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/blog/n8n-ki-talkshow/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-ki-talkshow.png</image:loc>
      <image:title>Die KI-Talkshow: 5 KIs besprechen deine Website</image:title>
      <image:caption>Hackerin, SEO-Guru, Designerin, Oma Erna und ein ungeduldiger Kunde besprechen deine Website. Fünf KIs parallel in n8n, mit Fallback und Tipps.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/blog/n8n-link-galaxie/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-link-galaxie.png</image:loc>
      <image:title>Link-Galaxie: interne Links als 3D-Karte</image:title>
      <image:caption>Domain eingeben, Galaxie drehen: defekte Links als Schwarze Löcher, verwaiste Seiten als Planeten. n8n-Workflow mit Crawler, KI und Download.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/blog/n8n-mission-control/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-mission-control.png</image:loc>
      <image:title>Mission Control: ein n8n-Spiel zur Incident Response</image:title>
      <image:caption>Drei Entscheidungen in 90 Sekunden zu einer wirklich ausgenutzten CISA-Lücke. Lies, wie Mission Control entstand, und lade den n8n-Workflow herunter.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/blog/n8n-nextcloud-buero-morgen/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-nextcloud-buero-morgen.png</image:loc>
      <image:title>Büro-Morgen: n8n schreibt in Nextcloud</image:title>
      <image:caption>Ein Klick: n8n liest Kalender, Deck, Dateien und Talk eines Demo-Büros in Nextcloud, eine KI schreibt das Briefing, n8n legt alles wirklich an.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/blog/n8n-orbit-postkarte/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-orbit-postkarte.png</image:loc>
      <image:title>n8n-Showcase: eine Postkarte aus dem Orbit</image:title>
      <image:caption>Knopf drücken, Postkarte erhalten: n8n fragt die ISS-Position ab, holt das NASA-Satellitenbild darunter und lässt eine KI schreiben. Mit Workflow-Download.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/blog/n8n-vorgestellt-internet-puls/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-vorgestellt-internet-puls.png</image:loc>
      <image:title>n8n vorgestellt: ein Workflow, der dem Internet den Puls fühlt</image:title>
      <image:caption>Was n8n ist, warum ich es selbst hoste und ein Beispiel-Workflow: 7 Quellen, eine KI, per Knopfdruck live auf einer Seite. Mit Download zum Importieren.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/blog/n8n-website-dna/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-website-dna.png</image:loc>
      <image:title>Website-DNA: Fremd-Code finden mit n8n</image:title>
      <image:caption>Domain eingeben, Doppelhelix ansehen: eigener Code, Drittanbieter, Bibliotheken mit bekannten CVEs und Cookies. n8n-Workflow mit OSV.dev und KI.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/blog/n8n-website-stadt/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-website-stadt.png</image:loc>
      <image:title>Deine Website als Stadt: ein n8n-Workflow</image:title>
      <image:caption>Domain eingeben, Stadt in 3D erkunden: Bereiche werden Viertel, Unterseiten Hochhäuser, Header Wachtürme. n8n-Workflow mit KI und Download.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/blog/n8n-woche-21-polarlicht-radar/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-woche-21-polarlicht-radar.png</image:loc>
      <image:title>n8n #21: Polarlicht-Radar mit NOAA-Kp-Index</image:title>
      <image:caption>Alle 15 Minuten den Kp-Index der NOAA lesen und nur bei steigender geomagnetischer Aktivität eine Push-Nachricht senden. Ohne Schlüssel und ohne Doppelalarm.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/blog/nextcloud-collabora-code-luecke-cve-2026-110447/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/nextcloud-collabora-code-luecke-cve-2026-110447.png</image:loc>
      <image:title>Nextcloud CODE-Lücke CVE-2026-110447: prüfen, updaten, entfernen</image:title>
      <image:caption>CVE-2026-110447 erlaubt Befehle auf Nextcloud-Servern mit der Collabora-CODE-App. So prüfst du, aktualisierst oder entfernst die App und suchst nach Web-Shells.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/blog/nextcloud-dateien-nicht-sichtbar-files-scan/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/nextcloud-dateien-nicht-sichtbar-files-scan.png</image:loc>
      <image:title>Nextcloud zeigt kopierte Dateien nicht: occ files:scan</image:title>
      <image:caption>Dateien direkt ins Nextcloud-Datenverzeichnis kopiert, aber die Weboberfläche bleibt leer? Warum das passiert und wie occ files:scan das behebt.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/blog/nextcloud-extern-pruefen/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/nextcloud-extern-pruefen.png</image:loc>
      <image:title>Nextcloud vom externen Netz prüfen: Version, EOL, offene Pfade</image:title>
      <image:caption>Ein Tool, das die eigene Nextcloud aus dem echten Netz bewertet: Version, End of Life, exponierte Pfade (config, data, .htaccess) und Security-Header. Ohne Login.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/blog/nextcloud-saml-oidc-fehler/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/nextcloud-saml-oidc-fehler.png</image:loc>
      <image:title>Nextcloud SAML/OIDC: 8 häufige SSO-Fehler und Lösungen</image:title>
      <image:caption>Redirect-Schleifen, Zeitabweichung, falsches UID-Mapping, doppelte Konten: die häufigsten SSO-Fehler in Nextcloud und ihre Lösungen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/blog/nginx-sicherheitsluecken-oktober-2026/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/nginx-sicherheitsluecken-oktober-2026.png</image:loc>
      <image:title>NGINX: drei kritische Lücken, Update auf 1.30.6 / 1.31.7</image:title>
      <image:caption>NGINX-Fix in 1.30.6 und 1.31.7 (Plus 37.1.0.1, 37.0.5.1): welche Konfigurationen betroffen sind, wie du sie prüfst und Container aktualisierst.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/blog/php-sicherheitsupdate-php2shell/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/php-sicherheitsupdate-php2shell.png</image:loc>
      <image:title>PHP2Shell patchen: Plesk, Synology, Webhosting, Server</image:title>
      <image:caption>Zwei kritische PHP-Lücken, Fix in 8.5.12, 8.4.27, 8.3.36, 8.2.35: was auf Plesk, Synology, Webhosting, Docker und eigenen Servern zu tun ist.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/blog/php2shell-eine-woche-danach-kernel-luecke/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/php2shell-eine-woche-danach-kernel-luecke.png</image:loc>
      <image:title>PHP2Shell nach einer Woche: Angriffe, Kernel-Lücke</image:title>
      <image:caption>PHP2Shell wird ausgenutzt und steht auf der CISA-Liste. Eine Linux-Kernel-Lücke (CVE-2026-46300) macht daraus Root. Die Lage in Grafiken und was Sie heute prüfen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/blog/php2shell-notloesung-php-ini/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/php2shell-notloesung-php-ini.png</image:loc>
      <image:title>PHP2Shell ohne Update entschärfen: Synology, Plesk, NAS</image:title>
      <image:caption>Noch kein PHP-Update, z. B. auf Synology? Drei php.ini-Einstellungen verkleinern die Angriffsfläche von PHP2Shell — für Web Station, Plesk und Server.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/blog/root-cause-analyse-im-support/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/root-cause-analyse-im-support.png</image:loc>
      <image:title>Root-Cause-Analyse im Support: Symptom ≠ Ursache</image:title>
      <image:caption>Ein Workaround schließt das Ticket, erst die Ursachenanalyse verhindert das nächste. Wie man im 2nd/3rd-Level vom Symptom zur eigentlichen Ursache kommt.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/blog/sicherheits-header-57-websites/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/sicherheits-header-57-websites.png</image:loc>
      <image:title>Wir haben die Sicherheits-Header von 57 Websites bewertet</image:title>
      <image:caption>Test von 57 bekannten Websites: HSTS ist verbreitet, CSP nicht. Ergebnisse je Header, die vier Seiten mit Note A und wie man die Zahlen fair liest.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/blog/sicherheits-header-starter-set/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/sicherheits-header-starter-set.png</image:loc>
      <image:title>HTTP-Sicherheits-Header: Starter-Set für nginx</image:title>
      <image:caption>HSTS, CSP, X-Content-Type-Options, Referrer-Policy, Permissions-Policy: Was jeder Header bewirkt, ein nginx-Starter-Set zum Kopieren und wie man es testet.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/blog/website-sicherheits-zeugnis/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/website-sicherheits-zeugnis.png</image:loc>
      <image:title>Ein Schulzeugnis für die Sicherheit Ihrer Website</image:title>
      <image:caption>Domain eingeben, Zeugnis bekommen: Noten für Sicherheits-Header, SPF/DMARC und TLS-Zertifikat, eine Gesamtnote und Bemerkungen vom Lehrer. Kostenlos.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/demo/opscope/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/projects/opscope-demo-de.png</image:loc>
      <image:title>OPSCOPE Live-Demo: Server-Diagnose im Terminal · Daniele Michelin</image:title>
      <image:caption>Aufzeichnung von OPSCOPE, meinem schreibgeschützten Bash-Toolkit für Linux-Server: ein simulierter Vorfall von der Diagnose bis zum Bericht.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ai-talk-show/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/ki-talkshow.png?v=1</image:loc>
      <image:title>The AI talk show: 5 AI guests discuss your website</image:title>
      <image:caption>Enter a domain: a hacker, an SEO guru, a designer, Grandma Erna and an impatient customer discuss your website live. n8n, AI and concrete tips.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/blog/ai-assistant-for-your-own-website/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/ai-assistant-for-your-own-website.png</image:loc>
      <image:title>An AI assistant for your own website: chat and voice, self-hosted</image:title>
      <image:caption>How a local AI phone receptionist became an assistant for my website: widget, nginx proxy, voice on my Mac, appointment booking, privacy.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/blog/checking-nextcloud-from-the-outside/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/checking-nextcloud-from-the-outside.png</image:loc>
      <image:title>Checking your Nextcloud from the outside: version, EOL, exposed paths</image:title>
      <image:caption>A tool that scores your own Nextcloud from the real network: version, end of life, exposed paths (config, data, .htaccess) and security headers. No login.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/blog/dns-migration-without-downtime/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/dns-migration-without-downtime.png</image:loc>
      <image:title>DNS migration without downtime: TTL, zone export, checklist</image:title>
      <image:caption>Switch hosting or DNS provider without losing website or e-mail: lower the TTL, export the zone instead of retyping it, test before the cutover.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/blog/email-spam-spf-dkim-dmarc/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/email-spam-spf-dkim-dmarc.png</image:loc>
      <image:title>SPF, DKIM and DMARC explained: stop mail landing in spam</image:title>
      <image:caption>SPF, DKIM and DMARC explained simply: what each checks, why mail lands in spam although SPF passes, how to read headers — with a table and checklist.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/blog/email-spoofing-ranking-102-domains/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/email-spoofing-ranking-102-domains.png</image:loc>
      <image:title>Can these domains be spoofed? SPF and DMARC of 102 sites</image:title>
      <image:caption>SPF, DMARC and MTA-STS of 102 well-known domains: 59 reject forged mail, 21 only monitor with p=none, 6 have no DMARC. Banks, Germany and Italy compared.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/blog/halloween-token-monster-image-vs-video/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/halloween-token-monster-image-vs-video.png</image:loc>
      <image:title>Halloween: the token monster prefers video to still images</image:title>
      <image:caption>A Halloween still or a short AI video? One concrete example: 1,120 versus 28,960 output tokens, and why that ratio is not the whole cost story.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/blog/incident-note-linux-no-space-left/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/incident-note-linux-no-space-left.png</image:loc>
      <image:title>Incident note: No space left on device despite free space</image:title>
      <image:caption>Incident note: No space left on device but df shows free space? Usually inodes are exhausted or deleted files are still open. Diagnose with df -i and lsof…</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/blog/incident-note-nextcloud-423-locked/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/incident-note-nextcloud-423-locked.png</image:loc>
      <image:title>Incident note: Nextcloud &quot;file is locked&quot; (423 Locked): fix</image:title>
      <image:caption>Incident note: Nextcloud says is locked or 423 Locked? Stale file locks after aborted requests. How to check Redis locking and cron, and clear old locks…</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/blog/n8n-ai-talk-show/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-ai-talk-show.png</image:loc>
      <image:title>The AI talk show: 5 AIs discuss your website</image:title>
      <image:caption>A hacker, an SEO guru, a designer, Grandma Erna and an impatient customer discuss your website. Five AIs in parallel in n8n, with fallback and tips.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/blog/n8n-data-oracle/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-data-oracle.png</image:loc>
      <image:title>Just for fun: an n8n oracle built on live data</image:title>
      <image:caption>An n8n workflow for fun: three live data sources in parallel, the moon phase in a Code node, an AI fortune teller and shareable tarot cards. Download included.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/blog/n8n-earth-orchestra/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-earth-orchestra.png</image:loc>
      <image:title>Earth Orchestra: earthquakes and solar activity become music</image:title>
      <image:caption>Earth Orchestra turns USGS earthquakes and NOAA&#x27;s Kp index into notes and animation. Try the live demo, see the musical rules and download the n8n workflow.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/blog/n8n-introduced-internet-pulse/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-introduced-internet-pulse.png</image:loc>
      <image:title>n8n introduced: a workflow that takes the internet&#x27;s pulse</image:title>
      <image:caption>What n8n is, why I self-host it, and an example workflow: 7 sources, one AI, live on a page at the press of a button. With a download to import it yourself.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/blog/n8n-link-galaxy/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-link-galaxy.png</image:loc>
      <image:title>Link galaxy: internal links as a 3D map</image:title>
      <image:caption>Enter a domain, spin the galaxy: broken links become black holes, orphan pages drifting planets. An n8n workflow with a crawler, AI and a download.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/blog/n8n-nextcloud-office-morning/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-nextcloud-office-morning.png</image:loc>
      <image:title>Office morning: n8n writes into Nextcloud</image:title>
      <image:caption>One click: n8n reads the calendar, Deck, files and Talk of a demo office in Nextcloud, an AI writes the briefing, n8n really creates it all.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/blog/n8n-orbit-postcard/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-orbit-postcard.png</image:loc>
      <image:title>n8n showcase: a postcard from orbit</image:title>
      <image:caption>Press a button, get a postcard: n8n finds the ISS, fetches the NASA satellite image of the spot below and lets an AI write. With the workflow to download.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/blog/n8n-website-city/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-website-city.png</image:loc>
      <image:title>Your website as a city: an n8n workflow</image:title>
      <image:caption>Enter a domain, explore a 3D city: sections become districts, subpages high-rises, headers watchtowers. An n8n workflow with AI and a download.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/blog/n8n-website-dna-scan/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-website-dna-scan.png</image:loc>
      <image:title>Website DNA: find third-party code with n8n</image:title>
      <image:caption>Enter a domain, watch the double helix: own code, third parties, libraries with known CVEs and cookies. An n8n workflow with OSV.dev and AI.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/blog/n8n-week-21-aurora-radar/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-week-21-aurora-radar.png</image:loc>
      <image:title>n8n #21: aurora radar with NOAA Kp index</image:title>
      <image:caption>Read NOAA&#x27;s Kp index every 15 minutes and send a push only when geomagnetic activity rises. No API key and no duplicate alerts.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/blog/nextcloud-collabora-code-flaw-cve-2026-110447/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/nextcloud-collabora-code-flaw-cve-2026-110447.png</image:loc>
      <image:title>Nextcloud CODE flaw CVE-2026-110447: check, update, remove</image:title>
      <image:caption>CVE-2026-110447 lets attackers run commands on Nextcloud servers with the built-in CODE app. How to check, update or remove it and look for web shells.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/blog/nextcloud-files-not-showing-files-scan/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/nextcloud-files-not-showing-files-scan.png</image:loc>
      <image:title>Nextcloud doesn&#x27;t show copied files: occ files:scan</image:title>
      <image:caption>Copied files straight into the Nextcloud data directory but the web UI stays empty? Why it happens and how occ files:scan fixes it.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/blog/nextcloud-saml-oidc-errors/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/nextcloud-saml-oidc-errors.png</image:loc>
      <image:title>Nextcloud SSO not working? 8 SAML/OIDC errors and fixes</image:title>
      <image:caption>Redirect loop, clock skew, wrong UID, duplicate accounts, missing groups: 8 SAML/OIDC errors from Nextcloud support — each with the cause and the fix.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/blog/nginx-vulnerabilities-october-2026/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/nginx-vulnerabilities-october-2026.png</image:loc>
      <image:title>NGINX: three critical flaws, update to 1.30.6 / 1.31.7</image:title>
      <image:caption>NGINX fix in 1.30.6 and 1.31.7 (Plus 37.1.0.1, 37.0.5.1): which configurations are affected, how to check them and how to update containers.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/blog/php-emergency-patch-php2shell/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/php-emergency-patch-php2shell.png</image:loc>
      <image:title>PHP2Shell patch: Plesk, Synology, shared hosting, servers</image:title>
      <image:caption>Two critical PHP flaws, fixed in 8.5.12, 8.4.27, 8.3.36 and 8.2.35: what to do on Plesk, Synology, shared hosting, Docker and your own servers.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/blog/php2shell-one-week-later-kernel-flaw/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/php2shell-one-week-later-kernel-flaw.png</image:loc>
      <image:title>PHP2Shell one week on: attacks and a kernel flaw</image:title>
      <image:caption>PHP2Shell is exploited and on CISA&#x27;s list. Now a Linux kernel flaw (CVE-2026-46300) can turn it into root. The facts in charts, and what to check today.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/blog/php2shell-workaround-php-ini/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/php2shell-workaround-php-ini.png</image:loc>
      <image:title>PHP2Shell on Synology without an update: php.ini fix</image:title>
      <image:caption>No PHP update yet on Synology? Three php.ini settings shrink the PHP2Shell attack surface — step by step for Web Station, Plesk and your own servers.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/blog/root-cause-analysis-in-support/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/root-cause-analysis-in-support.png</image:loc>
      <image:title>Root cause analysis in support: symptom ≠ cause</image:title>
      <image:caption>A workaround closes the ticket; only root cause analysis prevents the next one. How 2nd/3rd-level support gets from the symptom to the actual cause.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/blog/scam-radar-current-phishing-warnings/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/scam-radar-current-phishing-warnings.png</image:loc>
      <image:title>Scam radar: spot current phishing emails and fake texts</image:title>
      <image:caption>My new scam radar collects current scams, explains them in plain words and says what to do. How it works, and how to spot a scam before you click.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/blog/security-headers-57-websites/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/security-headers-57-websites.png</image:loc>
      <image:title>We graded the security headers of 57 big websites</image:title>
      <image:caption>A scan of 57 well-known sites: HSTS is common, CSP is not. Results by header, the four sites with grade A, and how to read the numbers fairly.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/blog/security-headers-starter-set/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/security-headers-starter-set.png</image:loc>
      <image:title>HTTP security headers: a safe starter set for nginx</image:title>
      <image:caption>HSTS, CSP, X-Content-Type-Options, Referrer-Policy, Permissions-Policy: what each security header does, a copy-paste nginx starter set, and how to test it.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/blog/website-security-report-card/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/website-security-report-card.png</image:loc>
      <image:title>A school report card for your website&#x27;s security</image:title>
      <image:caption>Type a domain and get a report card: grades for security headers, SPF/DMARC and the TLS certificate, an overall grade and teacher remarks. Free.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/cheat-sheets/dig-cheat-sheet/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-c-dig.png</image:loc>
      <image:title>dig Cheat Sheet – DNS Lookup Commands · Daniele Michelin</image:title>
      <image:caption>dig commands for DNS troubleshooting: A, MX, TXT, CAA, +short, +trace, reverse lookups, DNSSEC, SPF/DKIM/DMARC checks and authoritative queries.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/cheat-sheets/docker-cheat-sheet/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-c-docker.png</image:loc>
      <image:title>Docker Cheat Sheet – Commands for Admins · Daniele Michelin</image:title>
      <image:caption>Essential Docker commands: images, containers, logs, exec, volumes, networks, Compose, cleaning up with prune and resource limits for admins.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/cheat-sheets/git-cheat-sheet/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-c-git.png</image:loc>
      <image:title>Git Cheat Sheet – Everyday Commands &amp; Rescue · Daniele Michelin</image:title>
      <image:caption>Essential Git commands: status, log, stash, rebase, reflog recovery, undo variants, remotes and bisect for everyday work and emergencies.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/cheat-sheets/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-hub-cheats.png</image:loc>
      <image:title>Admin cheat sheets: nginx, Docker, Git, systemd &amp; more</image:title>
      <image:caption>Searchable command references for Nextcloud occ, dig, journalctl, openssl, nginx, systemctl, Docker and Git — with copy buttons and warnings on risky commands.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/cheat-sheets/journalctl-cheat-sheet/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-c-journalctl.png</image:loc>
      <image:title>journalctl Cheat Sheet – systemd Log Commands · Daniele Michelin</image:title>
      <image:caption>journalctl commands for troubleshooting: filter logs by unit, boot, time and priority, follow live, JSON output and keep journal disk usage in check.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/cheat-sheets/nextcloud-occ-cheat-sheet/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-c-occ.png</image:loc>
      <image:title>Nextcloud occ Commands: Cheat Sheet with Copy-Paste Examples</image:title>
      <image:caption>Copy-paste Nextcloud occ commands for admins: maintenance mode, files:scan, users, apps, missing DB indices, cron, trash bin cleanup and 2FA.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/cheat-sheets/nginx-cheat-sheet/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-c-nginx.png</image:loc>
      <image:title>nginx Cheat Sheet – Commands &amp; Config Snippets · Daniele Michelin</image:title>
      <image:caption>Essential nginx commands and config snippets for admins: test and reload, logs, redirects, proxy_pass, rate limiting, gzip and debugging.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/cheat-sheets/openssl-cheat-sheet/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-c-openssl.png</image:loc>
      <image:title>OpenSSL Cheat Sheet – TLS &amp; Certificate Commands · Daniele Michelin</image:title>
      <image:caption>OpenSSL commands for TLS troubleshooting: check certificate chain and expiry, create a CSR, match key and cert, convert PEM/DER/PFX, test STARTTLS.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/cheat-sheets/systemctl-cheat-sheet/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-c-systemctl.png</image:loc>
      <image:title>systemctl Cheat Sheet – systemd Commands · Daniele Michelin</image:title>
      <image:caption>Essential systemctl commands: status, start, restart, enable, timers, drop-in overrides, systemd-analyze and targets for Linux admins.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/compare/http-01-vs-dns-01/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-v-http-01-vs-dns-01.png</image:loc>
      <image:title>Let&#x27;s Encrypt: HTTP-01 vs DNS-01 · Daniele Michelin</image:title>
      <image:caption>HTTP-01 or DNS-01 challenge for Let&#x27;s Encrypt? Wildcards, internal hosts, port 80, DNS API access and typical validation failures compared.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/compare/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-hub-compare.png</image:loc>
      <image:title>Tech comparisons for admins: SAML, Nextcloud, DNS · Daniele Michelin</image:title>
      <image:caption>Honest comparisons from operations: SAML or OIDC, Nextcloud or Seafile, HTTP-01 or DNS-01, cron or systemd timers — which one fits when.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/compare/nextcloud-aio-vs-manual-install/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-v-nextcloud-aio-vs-manual.png</image:loc>
      <image:title>Nextcloud AIO vs Manual Installation · Daniele Michelin</image:title>
      <image:caption>Nextcloud All-in-One or a classic setup with web server, PHP-FPM and database? Effort, control, updates, backup and troubleshooting compared honestly.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/compare/nextcloud-s3-vs-nfs/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-v-s3-vs-nfs-nextcloud.png</image:loc>
      <image:title>Nextcloud: S3 vs NFS as Primary Storage · Daniele Michelin</image:title>
      <image:caption>S3 object storage or NFS/block storage as Nextcloud primary storage? Data layout, scaling, backup, migration and pitfalls from real operations.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/compare/nextcloud-vs-seafile/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-v-nextcloud-vs-seafile.png</image:loc>
      <image:title>Nextcloud vs Seafile: Comparison · Daniele Michelin</image:title>
      <image:caption>Self-host Nextcloud or Seafile? Storage format, sync, features, updates and backup compared, plainly and from an operations point of view.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/compare/nginx-vs-apache-php-fpm/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-v-nginx-vs-apache-php.png</image:loc>
      <image:title>nginx vs Apache for PHP Apps · Daniele Michelin</image:title>
      <image:caption>nginx or Apache in front of PHP-FPM? .htaccess, configuration, upload limits, timeouts and troubleshooting for Nextcloud, WordPress and other PHP apps.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/compare/saml-vs-oidc/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-v-saml-vs-oidc.png</image:loc>
      <image:title>SAML vs OIDC: Which One When? · Daniele Michelin</image:title>
      <image:caption>SAML or OpenID Connect for single sign-on? Differences in protocol, clients, certificates and troubleshooting, from running Nextcloud with Keycloak.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/compare/spf-dkim-dmarc-differences/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-v-spf-dkim-dmarc.png</image:loc>
      <image:title>SPF vs DKIM vs DMARC: comparison table · Daniele Michelin</image:title>
      <image:caption>What SPF, DKIM and DMARC each check, where they fail and why you need all three. Covers alignment, forwarding and common mistakes from practice.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/compare/systemd-timers-vs-cron/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-v-systemd-timer-vs-cron.png</image:loc>
      <image:title>systemd Timers vs Cron: Comparison · Daniele Michelin</image:title>
      <image:caption>systemd timers or cron for scheduled jobs? Logging, missed runs, overlapping jobs, environment and effort compared, with everyday examples.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/data-oracle/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/data-oracle.jpg?v=1</image:loc>
      <image:title>The data oracle: just for fun with n8n and live data</image:title>
      <image:caption>Pick a topic and the oracle reads your future from real live data: earthquakes, solar storms, the ISS and the moon. An n8n workflow with AI, for fun.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/demo/opscope/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/projects/opscope-demo-en.png</image:loc>
      <image:title>OPSCOPE live demo: Linux server diagnostics · Daniele Michelin</image:title>
      <image:caption>Recording of OPSCOPE, my read-only Bash toolkit for Linux servers: a simulated incident from diagnosis to report.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/email-ranking/banks/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/mail-ranking.png?v=1</image:loc>
      <image:title>E-mail ranking banks: who blocks phishing with DMARC?</image:title>
      <image:caption>How well do 22 well-known domains protect their sender address from spoofing? SPF, DMARC and MTA-STS compared, graded A to F, sortable and free.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/apt-could-not-get-lock-dpkg-lock-frontend/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-apt-dpkg-lock.png</image:loc>
      <image:title>apt: could not get lock dpkg lock-frontend · Daniele Michelin</image:title>
      <image:caption>apt says Could not get lock /var/lib/dpkg/lock-frontend. Usually unattended-upgrades is running. How to wait, find the holder and recover safely.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/apt-e-unable-to-locate-package/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-apt-unable-to-locate-package.png</image:loc>
      <image:title>apt: E: Unable to locate package · Daniele Michelin</image:title>
      <image:caption>apt install fails with E: Unable to locate package. Stale package lists, a wrong name, a missing repository component or an end-of-life release. Checks and fixes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/apt-nopubkey-signature/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-apt-nopubkey-signature.png</image:loc>
      <image:title>apt: NO_PUBKEY – signature not verifiable · Daniele Michelin</image:title>
      <image:caption>apt reports NO_PUBKEY when a repository signing key is missing or expired. Here is how to fetch the right key instead of ignoring warnings.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/bash-argument-list-too-long/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-bash-argument-list-too-long.png</image:loc>
      <image:title>bash: Argument list too long (rm, cp, mv) · Daniele Michelin</image:title>
      <image:caption>rm, cp or mv fail with Argument list too long. The shell expanded * to more files than the kernel allows. Use find with -delete or -exec, or xargs. Checks and fixes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/certbot-failed-to-renew-certificate-renewals-failed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-certbot-failed-to-renew-certificate.png</image:loc>
      <image:title>certbot: failed to renew certificate · Daniele Michelin</image:title>
      <image:caption>certbot renew prints Failed to renew certificate and the cert will expire. Changed authenticator, port 80 busy, missing timer or broken hook. Dry-run and fix.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/certbot-timeout-during-connect-firewall/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-certbot-timeout-during-connect.png</image:loc>
      <image:title>Certbot: timeout during connect (firewall) · Daniele Michelin</image:title>
      <image:caption>Let&#x27;s Encrypt fails with Timeout during connect (likely firewall problem). Port 80 blocked, wrong IP or an unreachable IPv6 address. Checks and the fix.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/change-dns-server/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-dns-server-wechseln.png</image:loc>
      <image:title>Change your DNS server on the router or PC · Daniele Michelin</image:title>
      <image:caption>Pages will not load but ping 8.8.8.8 works? That points to DNS. Test with nslookup and switch the DNS server, with a note on privacy.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/change-wifi-channel-2-4-vs-5-ghz/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-wlan-kanal-wechseln.png</image:loc>
      <image:title>Change Wi-Fi channel: choose 2.4 or 5 GHz · Daniele Michelin</image:title>
      <image:caption>Which Wi-Fi band and channel fits? Explains 2.4 and 5 GHz, channels 1, 6, 11, checking neighbour networks with real commands and changing it in the router.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/cron-job-not-running/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-cron-job-laeuft-nicht.png</image:loc>
      <image:title>Cron job not running: causes and checks · Daniele Michelin</image:title>
      <image:caption>A cron job is listed but never runs, usually because of PATH, environment, permissions or a syntax error. Here is how to find it in minutes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/curl-6-could-not-resolve-host/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-curl-6-could-not-resolve-host.png</image:loc>
      <image:title>curl: (6) Could not resolve host · Daniele Michelin</image:title>
      <image:caption>curl fails with (6) Could not resolve host. No DNS record yet, a typo, a resolver problem or a stale cache. Find out which with dig and getent.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/dig-connection-timed-out-no-servers-could-be-reached/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-dns-no-servers-could-be-reached.png</image:loc>
      <image:title>dig: no servers could be reached (timed out) · Daniele Michelin</image:title>
      <image:caption>dig or nslookup print connection timed out; no servers could be reached. The DNS server is down, unreachable or filtered on port 53. Find which hop fails and fix it.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/dkim-fail-body-hash-did-not-verify/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-dkim-body-hash-did-not-verify.png</image:loc>
      <image:title>DKIM: body hash did not verify – fix · Daniele Michelin</image:title>
      <image:caption>dkim=fail (body hash did not verify): the message body changed after signing. Find the footer, filter or gateway that modifies mail and sign last.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/dmarc-unauthenticated-email-not-accepted-dmarc-policy/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-dmarc-policy-rejected.png</image:loc>
      <image:title>DMARC: rejected due to domain&#x27;s DMARC policy · Daniele Michelin</image:title>
      <image:caption>550 5.7.1 Unauthenticated email is not accepted due to the domain&#x27;s DMARC policy. Align SPF and DKIM for your sender, check forwarders and move p=reject safely.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/dns-cname-at-zone-apex-not-allowed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-dns-cname-apex.png</image:loc>
      <image:title>DNS: CNAME at zone apex not allowed – fix · Daniele Michelin</image:title>
      <image:caption>Error “CNAME and other data” or “CNAME at apex not allowed”: the root domain cannot have a CNAME. Why that is, and which alternatives actually work.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/dns-nxdomain-dns-probe-finished-nxdomain/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-dns-nxdomain.png</image:loc>
      <image:title>DNS NXDOMAIN / DNS_PROBE_FINISHED_NXDOMAIN fix · Daniele Michelin</image:title>
      <image:caption>NXDOMAIN or DNS_PROBE_FINISHED_NXDOMAIN means DNS says the name does not exist. Find the typo, missing record, broken delegation or negative cache.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/dns-servfail-dnssec/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-dns-servfail.png</image:loc>
      <image:title>DNS SERVFAIL: find the cause (DNSSEC &amp; more) · Daniele Michelin</image:title>
      <image:caption>dig returns SERVFAIL although the zone looks right? Often DNSSEC is broken, e.g. a stale DS record after a provider move. How to find and fix it.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/dns-status-refused-query-refused/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-dns-query-refused.png</image:loc>
      <image:title>DNS: status REFUSED · Daniele Michelin</image:title>
      <image:caption>dig shows status: REFUSED. A name server will not answer: the zone is not hosted there, recursion is not allowed for you, or an ACL blocks you. Checks and fixes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/docker-permission-denied-docker-sock/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-docker-sock-permission-denied.png</image:loc>
      <image:title>Docker: permission denied on docker.sock – fix · Daniele Michelin</image:title>
      <image:caption>Docker says permission denied while trying to connect to the Docker daemon socket. Add your user to the docker group, re-login and know the security cost.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/docker-port-already-allocated/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-docker-port-already-allocated.png</image:loc>
      <image:title>Docker: Bind failed – port already allocated · Daniele Michelin</image:title>
      <image:caption>“port is already allocated” means another container or a host process holds the port. Here is how to find the owner and resolve it without rebooting.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/dovecot-imap-login-disconnected-auth-failed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-dovecot-auth-failed.png</image:loc>
      <image:title>Dovecot: Disconnected (auth failed) – fix · Daniele Michelin</image:title>
      <image:caption>Dovecot logs “imap-login: Disconnected (auth failed)”? How to tell a wrong password from a config error or brute force, and how to fix the cause.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/dovecot-mailbox-open-failed-permission-denied/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-dovecot-mailbox-permission-denied.png</image:loc>
      <image:title>Dovecot: permission denied on mailbox · Daniele Michelin</image:title>
      <image:caption>Dovecot logs open() failed: Permission denied on a mailbox or Maildir. Wrong owner, wrong mail_location or uid settings after a migration. Checks and fixes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/dpkg-was-interrupted-configure-a/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-dpkg-was-interrupted.png</image:loc>
      <image:title>dpkg was interrupted: run dpkg --configure -a · Daniele Michelin</image:title>
      <image:caption>apt stops with “dpkg was interrupted, you must manually run dpkg --configure -a”. An update was cut off or a package script failed. Checks and a safe repair order.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/err-too-many-redirects-redirect-loop/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-http-too-many-redirects.png</image:loc>
      <image:title>ERR_TOO_MANY_REDIRECTS: redirected too many times · Daniele Michelin</image:title>
      <image:caption>The browser shows ERR_TOO_MANY_REDIRECTS: redirected you too many times. A redirect loop between http and https, www, a CDN or the app. How to find and break it.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/find-ip-address-gateway/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-ip-adresse-gateway-finden.png</image:loc>
      <image:title>Find your IP address and gateway (Win, Mac, Linux) · Daniele Michelin</image:title>
      <image:caption>Router address unknown? Find your IP address and default gateway with ipconfig, ip route or route, and use it to open the router&#x27;s settings page.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/fritzbox-factory-reset/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-fritzbox-werkseinstellungen.png</image:loc>
      <image:title>Factory reset a FRITZ!Box: what will be lost? · Daniele Michelin</image:title>
      <image:caption>Factory reset of a FRITZ!Box: when it makes sense, what you lose and how to save a backup of your settings first. Written for home users.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/fritzbox-forgot-password/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-fritzbox-passwort-vergessen.png</image:loc>
      <image:title>FRITZ!Box password forgotten: how to get back in · Daniele Michelin</image:title>
      <image:caption>Forgot your FRITZ!Box password? Find the default one on the device label, check that the box is reachable and get back into the settings. Plain steps.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/fritzbox-no-internet/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-fritzbox-internet-weg.png</image:loc>
      <image:title>FRITZ!Box has no internet: 5 steps to check · Daniele Michelin</image:title>
      <image:caption>No internet on your FRITZ!Box? Check lights, restart, cables and DNS in five steps, and learn when it makes sense to call your provider.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/fritzbox-not-reachable/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-fritzbox-nicht-erreichbar.png</image:loc>
      <image:title>fritz.box won&#x27;t open: causes and fix · Daniele Michelin</image:title>
      <image:caption>fritz.box does not open? Check connection, the address 192.168.178.1, DNS and browser step by step with simple commands and find the cause.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/fritzbox-wifi-password-find-change/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-fritzbox-wlan-passwort.png</image:loc>
      <image:title>Find or change the FRITZ!Box Wi-Fi password · Daniele Michelin</image:title>
      <image:caption>Forgot your FRITZ!Box Wi-Fi password? Find it on the label, in the interface or on your computer, and change it safely. With menu hints for home users.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/http-400-request-header-or-cookie-too-large/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-http-400-header-too-large.png</image:loc>
      <image:title>400 Request Header Or Cookie Too Large: fix · Daniele Michelin</image:title>
      <image:caption>nginx returns 400 “Request Header Or Cookie Too Large”: too many or too big cookies or tokens. Causes, a curl test and safe buffer sizes to set.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/http-403-forbidden-nginx/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-http-403.png</image:loc>
      <image:title>HTTP 403 Forbidden in nginx: causes &amp; fix · Daniele Michelin</image:title>
      <image:caption>HTTP 403 Forbidden in nginx: missing index file, file permissions, deny rules or SELinux. How to find the exact cause in error.log and fix it fast.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/http-404-not-found-nginx/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-http-404-nginx.png</image:loc>
      <image:title>nginx: 404 Not Found on pages that exist · Daniele Michelin</image:title>
      <image:caption>nginx returns 404 Not Found although the page should exist. Wrong root or alias, missing try_files for the front controller, wrong server block. Checks and fixes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/http-413-request-entity-too-large/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-http-413.png</image:loc>
      <image:title>HTTP 413 Request Entity Too Large: nginx fix · Daniele Michelin</image:title>
      <image:caption>413 Request Entity Too Large: nginx or an upstream proxy blocks large uploads. How to set client_max_body_size and the PHP limits correctly.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/http-429-too-many-requests/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-http-429.png</image:loc>
      <image:title>HTTP 429 Too Many Requests: causes and fix · Daniele Michelin</image:title>
      <image:caption>HTTP 429 Too Many Requests means a rate limit was hit. Find which layer limits you (nginx limit_req, WAF, CDN, API) and raise, exempt or respect the limit correctly.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/http-500-internal-server-error-php/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-http-500.png</image:loc>
      <image:title>HTTP 500 Internal Server Error: find the cause · Daniele Michelin</image:title>
      <image:caption>HTTP 500 Internal Server Error is just the symptom. Find the real cause in nginx and PHP logs: fatal errors, memory limit, permissions, rewrite loops.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/http-502-bad-gateway/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-http-502.png</image:loc>
      <image:title>HTTP 502 Bad Gateway (nginx, PHP-FPM): how to fix · Daniele Michelin</image:title>
      <image:caption>502 Bad Gateway in nginx: the backend (PHP-FPM, Node, Gunicorn) is not answering. Common causes, what to look for in error.log and quick fixes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/http-503-service-unavailable-nginx/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-http-503.png</image:loc>
      <image:title>HTTP 503 Service Unavailable: causes &amp; fix · Daniele Michelin</image:title>
      <image:caption>HTTP 503 Service Unavailable with nginx: rate limit, maintenance mode, overloaded backend or a load balancer without healthy servers. Find the source.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/http-504-gateway-timeout/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-http-504.png</image:loc>
      <image:title>HTTP 504 Gateway Timeout (nginx): causes &amp; fix · Daniele Michelin</image:title>
      <image:caption>504 Gateway Timeout in nginx: the backend takes longer than allowed. How to find slow scripts, a full PHP-FPM pool and wrong timeouts, and fix them.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/http-521-522-origin-error-cdn/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-http-521-522-origin.png</image:loc>
      <image:title>HTTP 521 / 522: CDN cannot reach the origin · Daniele Michelin</image:title>
      <image:caption>A CDN page shows 521 Web server is down or 522 Connection timed out. The edge cannot reach your origin: firewall, wrong IP, service down. Checks and fixes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-hub-errors.png</image:loc>
      <image:title>Error code lexicon for admins: SMTP, HTTP, Nextcloud</image:title>
      <image:caption>Common error messages from mail, web servers, Nextcloud, DNS and SSO: what they mean, how to check them and how to fix them — with commands.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/letsencrypt-acme-error-unauthorized/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-acme-unauthorized.png</image:loc>
      <image:title>Let&#x27;s Encrypt acme:error:unauthorized: fix · Daniele Michelin</image:title>
      <image:caption>certbot reports urn:ietf:params:acme:error:unauthorized? The HTTP-01 challenge fails, often due to an AAAA record or a redirect. Diagnosis and fix.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/letsencrypt-too-many-certificates-already-issued/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-letsencrypt-too-many-certificates.png</image:loc>
      <image:title>Let&#x27;s Encrypt too many certificates: rate limit · Daniele Michelin</image:title>
      <image:caption>Let&#x27;s Encrypt says “too many certificates already issued”? Which rate limit applies, how to wait it out safely and how to avoid issuance loops in future.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/linux-no-space-left-on-device/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-linux-no-space-left.png</image:loc>
      <image:title>No space left on device despite free space · Daniele Michelin</image:title>
      <image:caption>No space left on device but df shows free space? Usually inodes are exhausted or deleted files are still open. Diagnose with df -i and lsof +L1, then fix.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/linux-out-of-memory-killed-process-oom-killer/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-linux-oom-killer.png</image:loc>
      <image:title>Linux OOM killer: out of memory, killed process · Daniele Michelin</image:title>
      <image:caption>“Out of memory: Killed process” in the kernel log: the OOM killer ended a process. Find the culprit, limit memory per service and stop it happening again.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/linux-read-only-file-system/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-linux-read-only-file-system.png</image:loc>
      <image:title>Linux: read-only file system – causes &amp; fix · Daniele Michelin</image:title>
      <image:caption>“Read-only file system” on Linux: filesystem errors with remount-ro, a failing disk, ro mount or systemd ProtectSystem. Diagnose it safely and fix it.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/linux-too-many-open-files/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-linux-too-many-open-files.png</image:loc>
      <image:title>Linux: too many open files (EMFILE) – fix · Daniele Michelin</image:title>
      <image:caption>“Too many open files” (error 24) in nginx, Java or Node: the per-process limit is reached. Check it properly, set LimitNOFILE in systemd, find leaks.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/mariadb-table-is-marked-as-crashed-and-should-be-repaired/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-mariadb-table-marked-as-crashed.png</image:loc>
      <image:title>MariaDB: Table is marked as crashed · Daniele Michelin</image:title>
      <image:caption>MariaDB or MySQL reports Table is marked as crashed and should be repaired (1194/145). Usually MyISAM or Aria after a crash. Back up first, then REPAIR TABLE.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/mixed-content-blocked-insecure-resource/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-http-mixed-content.png</image:loc>
      <image:title>Mixed Content: blocked insecure resource · Daniele Michelin</image:title>
      <image:caption>The browser console reports Mixed Content: the page was loaded over HTTPS but requested an insecure resource, and blocks it. Find the http:// URLs and fix them.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/mount-wrong-fs-type-bad-option-bad-superblock/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-mount-wrong-fs-type-bad-superblock.png</image:loc>
      <image:title>mount: wrong fs type, bad option, bad superblock · Daniele Michelin</image:title>
      <image:caption>mount fails with wrong fs type, bad option, bad superblock. Missing helper package, wrong type or option, no filesystem on the device or damage. Safe checks first.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/mysql-1045-access-denied/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-mysql-1045-access-denied.png</image:loc>
      <image:title>MySQL error 1045: access denied for user · Daniele Michelin</image:title>
      <image:caption>MySQL / MariaDB ERROR 1045 Access denied for user. Wrong password, wrong host or the root unix_socket plugin. Checks and the fix in minutes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/mysql-1064-syntax-error/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-mysql-1064-syntax-error.png</image:loc>
      <image:title>MariaDB/MySQL: ERROR 1064 syntax error · Daniele Michelin</image:title>
      <image:caption>ERROR 1064 means the server cannot parse the statement. Usually a reserved word, a version difference or a broken quote – and the message shows where.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/mysql-1067-invalid-default-value/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-mysql-1067-invalid-default-value.png</image:loc>
      <image:title>MySQL: ERROR 1067 Invalid default value · Daniele Michelin</image:title>
      <image:caption>ERROR 1067 means a column default does not fit its type or the active sql_mode. Typical with TIMESTAMP, zero dates and old dumps.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/mysql-2003-cant-connect-10061/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-mysql-2003-cant-connect-10061.png</image:loc>
      <image:title>MySQL: ERROR 2003 Can&#x27;t connect (10061) · Daniele Michelin</image:title>
      <image:caption>ERROR 2003 (HY000) with 10061 means nothing accepts connections on the target port. Usually the service is down, bound to localhost only, or filtered.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/mysql-error-1040-too-many-connections/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-mysql-1040-too-many-connections.png</image:loc>
      <image:title>MySQL: ERROR 1040 Too many connections · Daniele Michelin</image:title>
      <image:caption>MySQL or MariaDB refuses new clients with ERROR 1040 Too many connections. Find leaking apps and slow queries before raising max_connections. Checks and fixes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/mysql-error-2002-cant-connect-through-socket/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-mysql-2002-socket.png</image:loc>
      <image:title>MySQL error 2002: can&#x27;t connect through socket · Daniele Michelin</image:title>
      <image:caption>MySQL / MariaDB ERROR 2002: Can&#x27;t connect to local server through socket. Server down, wrong socket path or full disk. Checks and fixes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/mysql-server-has-gone-away-2006/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-mysql-2006-server-has-gone-away.png</image:loc>
      <image:title>MySQL server has gone away (error 2006) · Daniele Michelin</image:title>
      <image:caption>MySQL or MariaDB reports MySQL server has gone away, error 2006. An idle timeout, a packet above max_allowed_packet or a crashed server. Checks and fixes that last.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/net-err-cert-authority-invalid-self-signed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-tls-cert-authority-invalid.png</image:loc>
      <image:title>NET::ERR_CERT_AUTHORITY_INVALID: self-signed · Daniele Michelin</image:title>
      <image:caption>Browser shows NET::ERR_CERT_AUTHORITY_INVALID: the certificate is self-signed, from an untrusted internal CA or served without its chain. How to check it and fix it.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/net-err-cert-common-name-invalid/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-tls-cert-common-name-invalid.png</image:loc>
      <image:title>ERR_CERT_COMMON_NAME_INVALID: causes &amp; fix · Daniele Michelin</image:title>
      <image:caption>Chrome shows NET::ERR_CERT_COMMON_NAME_INVALID: the hostname is not in the certificate. Check the SAN, find the wrong vhost and expand the certificate.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/net-err-cert-date-invalid-clock-wrong/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-tls-cert-date-invalid.png</image:loc>
      <image:title>NET::ERR_CERT_DATE_INVALID: clock or validity · Daniele Michelin</image:title>
      <image:caption>NET::ERR_CERT_DATE_INVALID: the certificate is expired or not yet valid for the clock in use. Often the device clock is wrong. Compare the dates and fix it.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/network-printer-not-found/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-drucker-im-netzwerk-nicht-gefunden.png</image:loc>
      <image:title>Printer not found on the network: causes and fix · Daniele Michelin</image:title>
      <image:caption>Your Wi-Fi printer does not show up on your PC or phone? Common causes such as a different network or a new IP address, plus a step-by-step check.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/nextcloud-cannot-write-into-config-directory/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-nextcloud-config-not-writable.png</image:loc>
      <image:title>Nextcloud: cannot write into config directory · Daniele Michelin</image:title>
      <image:caption>Nextcloud says Cannot write into config directory. Wrong owner after a restore, SELinux or config_is_read_only. Checks and the right permissions.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/nextcloud-csrf-check-failed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-nextcloud-csrf-check-failed.png</image:loc>
      <image:title>Nextcloud “CSRF check failed”: causes &amp; fix · Daniele Michelin</image:title>
      <image:caption>Nextcloud says “CSRF check failed” on login or save? Usually the session is lost: check cookies, reverse proxy, session storage and Redis step by step.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/nextcloud-data-directory-readable-by-other-users/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-nextcloud-data-dir-readable.png</image:loc>
      <image:title>Nextcloud: data directory readable by other users · Daniele Michelin</image:title>
      <image:caption>Nextcloud says “Your data directory is readable by other users”. How to set 0770 correctly, also on NFS and CIFS mounts, without breaking access.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/nextcloud-database-is-missing-some-indexes/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-nextcloud-missing-indexes.png</image:loc>
      <image:title>Nextcloud: database is missing some indexes – fix · Daniele Michelin</image:title>
      <image:caption>Nextcloud says “The database is missing some indexes”. How to add missing indices, columns and primary keys safely with occ, even on large tables.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/nextcloud-file-is-locked-423/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-nextcloud-423-locked.png</image:loc>
      <image:title>Nextcloud &quot;file is locked&quot; (423 Locked): fix · Daniele Michelin</image:title>
      <image:caption>Nextcloud says is locked or 423 Locked? Stale file locks after aborted requests. How to check Redis locking and cron, and clear old locks safely.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/nextcloud-internal-server-error-request-id/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-nextcloud-internal-server-error.png</image:loc>
      <image:title>Nextcloud Internal Server Error: find the cause · Daniele Michelin</image:title>
      <image:caption>Nextcloud shows “Internal Server Error” with a request ID? How to find the matching entry in nextcloud.log and fix the most common causes directly.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/nextcloud-last-background-job-ran-ago-cron/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-nextcloud-cron-last-job.png</image:loc>
      <image:title>Nextcloud: last background job ran days ago – fix · Daniele Michelin</image:title>
      <image:caption>Nextcloud says “Last background job execution ran … ago”? Check cron mode, the www-data crontab and errors in cron.php, then fix it permanently.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/nextcloud-maintenance-mode-enabled/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-nextcloud-maintenance-mode.png</image:loc>
      <image:title>Nextcloud stuck in maintenance mode: how to fix · Daniele Michelin</image:title>
      <image:caption>Nextcloud stuck in maintenance mode, usually after an aborted update? How to check status with occ, finish the upgrade and turn maintenance off.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/nextcloud-memcache-apcu-not-available-for-local-cache/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-nextcloud-memcache-apcu.png</image:loc>
      <image:title>Nextcloud: memcache APCu not available – fix · Daniele Michelin</image:title>
      <image:caption>Nextcloud shows “Memcache APCu not available for local cache” in occ or cron: usually apc.enable_cli=1 is missing in the CLI php.ini. Check and fix.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/nextcloud-redisexception-redis-went-away/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-nextcloud-redis-went-away.png</image:loc>
      <image:title>Nextcloud: RedisException: Redis went away · Daniele Michelin</image:title>
      <image:caption>Nextcloud logs RedisException: Redis went away and pages hang or return 500. Redis is down, the socket or permissions are wrong, or memory ran out. Checks and fix.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/nextcloud-reverse-proxy-header-configuration-incorrect/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-nextcloud-reverse-proxy-header.png</image:loc>
      <image:title>Nextcloud: reverse proxy header incorrect – fix · Daniele Michelin</image:title>
      <image:caption>Nextcloud warns the reverse proxy header configuration is incorrect. Set trusted_proxies and forwarded headers behind nginx, Traefik or Cloudflare.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/nextcloud-saml-signature-validation-failed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-saml-signature-validation-failed.png</image:loc>
      <image:title>SAML: signature validation failed in Nextcloud · Daniele Michelin</image:title>
      <image:caption>Nextcloud user_saml says Signature validation failed. SAML Response rejected? Usually a rotated IdP certificate. Causes, checks and the fix.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/nextcloud-some-files-have-not-passed-the-integrity-check/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-nextcloud-integrity-check-failed.png</image:loc>
      <image:title>Nextcloud: some files failed the integrity check · Daniele Michelin</image:title>
      <image:caption>Nextcloud lists INVALID_HASH, MISSING_FILE or EXTRA_FILE after the integrity check. Leftovers from a manual update or edited core files. How to read and fix it.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/nextcloud-too-many-requests-brute-force-protection/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-nextcloud-too-many-requests.png</image:loc>
      <image:title>Nextcloud: too many requests from your network · Daniele Michelin</image:title>
      <image:caption>Nextcloud shows Too many requests from your network. Brute-force protection slows an IP. Reset it, whitelist an office, fix a shared proxy IP.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/nextcloud-trusted-domain-error/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-nextcloud-trusted-domain.png</image:loc>
      <image:title>Nextcloud &quot;access through untrusted domain&quot;: fix · Daniele Michelin</image:title>
      <image:caption>Nextcloud says access through untrusted domain: the hostname is missing from trusted_domains. How to add it with occ and check the reverse proxy.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/nextcloud-updates-between-multiple-major-versions-unsupported/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-nextcloud-multiple-major-versions-unsupported.png</image:loc>
      <image:title>Nextcloud: updates between major versions blocked · Daniele Michelin</image:title>
      <image:caption>occ upgrade or the updater stops: updates between multiple major versions and downgrades are unsupported. Upgrade one major at a time or match code and database.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/nextcloud-well-known-caldav-carddav-not-set-up/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-nextcloud-well-known-caldav-carddav.png</image:loc>
      <image:title>Nextcloud: /.well-known/caldav not set up · Daniele Michelin</image:title>
      <image:caption>Nextcloud warns that the web server cannot resolve /.well-known/caldav or carddav. Add the 301 redirects to /remote.php/dav in nginx or Apache. Checks and fix.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/nextcloud-your-data-directory-is-invalid-ocdata/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-nextcloud-data-directory-invalid.png</image:loc>
      <image:title>Nextcloud: your data directory is invalid · Daniele Michelin</image:title>
      <image:caption>Nextcloud says your data directory is invalid and asks for .ocdata. The volume is not mounted, the config.php path is wrong or the file is lost. Checks and fix.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/nginx-bind-address-already-in-use/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-nginx-address-in-use.png</image:loc>
      <image:title>nginx bind() failed (98): address already in use · Daniele Michelin</image:title>
      <image:caption>nginx will not start: bind() to 0.0.0.0:80 failed (98: Address already in use). Find the process holding the port and fix it in a minute.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/nginx-connect-failed-111-connection-refused-upstream/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-nginx-connection-refused-111.png</image:loc>
      <image:title>nginx 111: Connection refused to upstream – fix · Daniele Michelin</image:title>
      <image:caption>nginx logs “connect() failed (111: Connection refused) while connecting to upstream”: the backend is down or listens elsewhere. How to check and fix it.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/nginx-could-not-build-server-names-hash/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-nginx-server-names-hash.png</image:loc>
      <image:title>nginx: could not build server_names_hash · Daniele Michelin</image:title>
      <image:caption>nginx -t fails with could not build server_names_hash, you should increase server_names_hash_bucket_size. Why it happens and the exact setting to change.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/nginx-emerg-cannot-load-certificate-pem-no-start-line/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-nginx-cannot-load-certificate.png</image:loc>
      <image:title>nginx: [emerg] cannot load certificate · Daniele Michelin</image:title>
      <image:caption>nginx -t fails with cannot load certificate, no start line or key values mismatch. Wrong path, wrong file or a key that does not match. Checks and fixes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/nginx-php-fpm-primary-script-unknown-file-not-found/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-nginx-primary-script-unknown.png</image:loc>
      <image:title>nginx PHP-FPM: Primary script unknown – fix · Daniele Michelin</image:title>
      <image:caption>nginx shows “File not found.” and logs “Primary script unknown”: PHP-FPM cannot find the script. Check SCRIPT_FILENAME, root and container paths.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/nginx-php-fpm-socket-13-permission-denied/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-nginx-fpm-socket-permission-denied.png</image:loc>
      <image:title>nginx: PHP-FPM socket failed (13: Permission denied)</image:title>
      <image:caption>nginx returns 502 and logs connect() to unix:/run/php/...sock failed (13: Permission denied). The nginx user may not use the PHP-FPM socket. Checks and the fix.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/nginx-rewrite-or-internal-redirection-cycle/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-nginx-rewrite-redirection-cycle.png</image:loc>
      <image:title>nginx: rewrite or internal redirection cycle · Daniele Michelin</image:title>
      <image:caption>nginx logs rewrite or internal redirection cycle and answers 500. try_files points to a missing index.html or the root is wrong. Checks and fix.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/nginx-upstream-prematurely-closed-connection/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-nginx-upstream-prematurely-closed.png</image:loc>
      <image:title>nginx: upstream prematurely closed connection · Daniele Michelin</image:title>
      <image:caption>nginx answers 502 and logs upstream prematurely closed connection while reading response header. The backend died, restarted or spoke the wrong protocol.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/nginx-upstream-sent-too-big-header/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-nginx-too-big-header.png</image:loc>
      <image:title>nginx: upstream sent too big header – fix · Daniele Michelin</image:title>
      <image:caption>nginx logs upstream sent too big header and returns 502? The backend headers do not fit the buffer. How to raise the fastcgi and proxy buffers.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/nginx-upstream-timed-out-110/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-nginx-upstream-timed-out.png</image:loc>
      <image:title>nginx upstream timed out (110): causes and fix · Daniele Michelin</image:title>
      <image:caption>nginx logs upstream timed out (110: Connection timed out) and users see 504. Find the slow backend, raise the right timeout and avoid the real cause.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/nginx-worker-connections-are-not-enough/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-nginx-worker-connections.png</image:loc>
      <image:title>nginx: worker_connections are not enough · Daniele Michelin</image:title>
      <image:caption>nginx logs worker_connections are not enough and requests fail or hang. The per-worker connection limit is reached. How to check the limits and raise them safely.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/oidc-invalid-client-client-authentication-failed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-oidc-invalid-client.png</image:loc>
      <image:title>OIDC: invalid_client at the token endpoint · Daniele Michelin</image:title>
      <image:caption>OIDC login fails with invalid_client or Client authentication failed. Wrong or expired client secret, wrong auth method or unknown client ID. Checks and fixes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/oidc-invalid-grant-token-endpoint/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-oidc-invalid-grant.png</image:loc>
      <image:title>OIDC invalid_grant: causes &amp; fix · Daniele Michelin</image:title>
      <image:caption>OIDC error “invalid_grant” at the token endpoint: expired or reused code, mismatched redirect_uri, revoked refresh token or clock skew. How to fix it.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/oidc-redirect-uri-mismatch-invalid-redirect-uri/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-oidc-redirect-uri-mismatch.png</image:loc>
      <image:title>OIDC redirect_uri_mismatch: causes &amp; fix · Daniele Michelin</image:title>
      <image:caption>OIDC error “redirect_uri_mismatch” or “Invalid parameter: redirect_uri”: the callback URL does not match the IdP registration. How to find the difference.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/php-allowed-memory-size-exhausted/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-php-memory-exhausted.png</image:loc>
      <image:title>PHP: allowed memory size exhausted – how to fix · Daniele Michelin</image:title>
      <image:caption>PHP Fatal error: Allowed memory size exhausted. Raise memory_limit in the right php.ini (FPM vs CLI), find the memory hog and stop it coming back.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/php-call-to-undefined-function-mysqli-connect/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-php-mysqli-undefined-function.png</image:loc>
      <image:title>PHP: Call to undefined function mysqli_connect() · Daniele Michelin</image:title>
      <image:caption>PHP stops with Call to undefined function mysqli_connect() (or Class mysqli not found). The mysqli extension is not loaded for the PHP version serving the site.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/php-cannot-modify-header-information-headers-already-sent/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-php-headers-already-sent.png</image:loc>
      <image:title>PHP: Cannot modify header information · Daniele Michelin</image:title>
      <image:caption>PHP warns Cannot modify header information - headers already sent by (output started at file:line). Output, a BOM or whitespace came before header().</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/php-fpm-server-reached-pm-max-children/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-php-fpm-max-children.png</image:loc>
      <image:title>PHP-FPM: server reached pm.max_children · Daniele Michelin</image:title>
      <image:caption>PHP-FPM logs server reached pm.max_children and the site slows down or returns 502/504. How to size the pool from your RAM and find slow requests.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/php-maximum-execution-time-exceeded/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-php-max-execution-time.png</image:loc>
      <image:title>PHP: maximum execution time exceeded – fix · Daniele Michelin</image:title>
      <image:caption>PHP Fatal error: Maximum execution time of 30 seconds exceeded. Raise max_execution_time safely, check the nginx timeout too, and fix the slow part.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/php-parse-error-unexpected-token/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-php-parse-error-unexpected-token.png</image:loc>
      <image:title>PHP: Parse error unexpected token · Daniele Michelin</image:title>
      <image:caption>PHP Parse error: unexpected token means the file is syntactically broken – often after a PHP upgrade, a cut-off upload or a missing semicolon.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/php-uploaded-file-exceeds-upload-max-filesize/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-php-upload-max-filesize.png</image:loc>
      <image:title>PHP: uploaded file exceeds upload_max_filesize · Daniele Michelin</image:title>
      <image:caption>Uploads fail with The uploaded file exceeds the upload_max_filesize directive in php.ini or POST Content-Length exceeds the limit. Which limits to raise and where.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/port-forwarding-not-working/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-portfreigabe-geht-nicht.png</image:loc>
      <image:title>Port forwarding not working: causes and checks · Daniele Michelin</image:title>
      <image:caption>Port forward set in the router but nothing reachable from outside? Often DS-Lite or CGNAT is to blame, otherwise firewall or a wrong address. Step-by-step checks.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/postfix-deferred-connect-connection-timed-out/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-postfix-connection-timed-out.png</image:loc>
      <image:title>Postfix: connection timed out, mail deferred · Daniele Michelin</image:title>
      <image:caption>Postfix status=deferred (connect to ...:25: Connection timed out). Outgoing port 25 blocked, firewall or IPv6 problem. Checks and fixes with a relay on 587.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/postfix-host-or-domain-name-not-found-name-service-error/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-postfix-host-not-found.png</image:loc>
      <image:title>Postfix: host or domain name not found · Daniele Michelin</image:title>
      <image:caption>Postfix status=deferred: Host or domain name not found, Name service error for type=MX. Check the resolver, the chroot and the recipient domain.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/postfix-hostname-does-not-resolve-to-address/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-postfix-hostname-does-not-resolve.png</image:loc>
      <image:title>Postfix: hostname does not resolve to address · Daniele Michelin</image:title>
      <image:caption>Postfix warning “hostname does not resolve to address”: the client&#x27;s reverse and forward DNS do not match. When it is harmless and when you must act on it.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/postfix-mail-for-domain-loops-back-to-myself/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-postfix-mail-loops-back-to-myself.png</image:loc>
      <image:title>Postfix: mail for domain loops back to myself · Daniele Michelin</image:title>
      <image:caption>Postfix bounces with: mail for example.com loops back to myself. The MX or relay points at this server, but the domain is not set up locally. Find the loop and fix.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/postfix-sasl-authentication-failed-no-mechanism-available/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-postfix-sasl-authentication-failed.png</image:loc>
      <image:title>Postfix: SASL authentication failed · Daniele Michelin</image:title>
      <image:caption>Postfix cannot log in to the relay: SASL authentication failed, no mechanism available. Missing libsasl2 modules, sasl_passwd or TLS. Fixes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/postgres-too-many-clients/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-postgres-too-many-clients.png</image:loc>
      <image:title>Postgres: FATAL too many clients already · Daniele Michelin</image:title>
      <image:caption>“sorry, too many clients already” means max_connections is exhausted. Usually open pools, a leak or idle transactions – here is how to measure it.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/postgresql-fatal-no-pg-hba-conf-entry-for-host/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-postgres-no-pg-hba-conf-entry.png</image:loc>
      <image:title>PostgreSQL: no pg_hba.conf entry for host · Daniele Michelin</image:title>
      <image:caption>PostgreSQL answers FATAL: no pg_hba.conf entry for host. No rule allows this client address, user, database or SSL mode. Check the rules and add a narrow line.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/postgresql-fatal-password-authentication-failed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-postgres-password-authentication-failed.png</image:loc>
      <image:title>PostgreSQL: password authentication failed · Daniele Michelin</image:title>
      <image:caption>PostgreSQL rejects a login with FATAL: password authentication failed for user. Wrong password, another pg_hba.conf line or URL encoding. Checks and fixes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/reach-home-nas-from-outside/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-nas-von-unterwegs-erreichen.png</image:loc>
      <image:title>Reach your home NAS remotely: VPN vs port forward · Daniele Michelin</image:title>
      <image:caption>How to reach a NAS or home PC from outside: VPN, port forwarding and DynDNS compared, with security notes and check commands.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/redis-oom-command-not-allowed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-redis-oom-command-not-allowed.png</image:loc>
      <image:title>Redis: OOM command not allowed · Daniele Michelin</image:title>
      <image:caption>Redis reports “OOM command not allowed” when memory is above maxmemory and nothing may be evicted. Here is how to keep the cache writable.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/restart-router-correctly/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-router-neustart-richtig.png</image:loc>
      <image:title>Restart your router the right way (and when) · Daniele Michelin</image:title>
      <image:caption>Internet stuck or Wi-Fi acting up? Restart your router in the right order, use ping to confirm it helped, and learn when a restart will not fix the problem.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/rsync-code-23-partial-transfer/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-rsync-code-23-partial-transfer.png</image:loc>
      <image:title>rsync: error code 23 (some files not transferred) · Daniele Michelin</image:title>
      <image:caption>rsync exits with code 23 when individual files were not transferred: permissions, files changing during the run or attributes. The code alone says little.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/saml-clock-skew-notbefore-timestamp-not-yet-valid/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-saml-clock-skew.png</image:loc>
      <image:title>SAML NotBefore / clock skew: fix timestamp errors · Daniele Michelin</image:title>
      <image:caption>SAML error “Could not validate timestamp: not yet valid” or NotBefore/NotOnOrAfter: IdP and SP clocks differ. How to check it and fix it with NTP.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/saml-invalid-audience-for-this-response/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-saml-invalid-audience.png</image:loc>
      <image:title>SAML: Invalid audience for this Response · Daniele Michelin</image:title>
      <image:caption>SAML login fails with Invalid audience for this Response. The Entity ID in the IdP does not match the service provider&#x27;s. Compare both values and fix the mismatch.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/set-up-guest-wifi-network/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-gastnetz-einrichten.png</image:loc>
      <image:title>Set up a guest Wi-Fi network: guide and benefits · Daniele Michelin</image:title>
      <image:caption>Why a guest network is useful, how to switch it on in your router and why printers, TVs and NAS are not visible there. With check commands.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/smart-tv-chromecast-wont-connect/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-smart-tv-chromecast-verbindet-nicht.png</image:loc>
      <image:title>Smart TV or Chromecast won&#x27;t connect: causes · Daniele Michelin</image:title>
      <image:caption>Casting fails and the TV or Chromecast is missing in the app? Check same network, guest network, 2.4 GHz and router settings step by step.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/smtp-421-4-7-0/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-smtp-421-470.png</image:loc>
      <image:title>SMTP 421 4.7.0: rate limited – causes &amp; fix · Daniele Michelin</image:title>
      <image:caption>SMTP 421 4.7.0 means the receiver is temporarily throttling your IP. Common causes like missing PTR or a spam burst, how to diagnose and fix it.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/smtp-450-4-1-8-sender-address-rejected-domain-not-found/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-postfix-sender-domain-not-found.png</image:loc>
      <image:title>SMTP: 450 4.1.8 Sender domain not found · Daniele Michelin</image:title>
      <image:caption>Postfix rejects mail with 450 4.1.8 Sender address rejected: Domain not found. The sender domain has no A or MX record. Check DNS and fix the From address.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/smtp-451-4-7-1-greylisting/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-smtp-451-471-greylisting.png</image:loc>
      <image:title>SMTP 451 4.7.1 greylisting: causes &amp; fix · Daniele Michelin</image:title>
      <image:caption>SMTP 451 4.7.1 Greylisted is an intentional delay. When it is normal, when mail gets stuck and how to tune Postgrey or Rspamd greylisting.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/smtp-530-5-7-0-must-issue-starttls/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-smtp-530-570-starttls.png</image:loc>
      <image:title>SMTP 530 5.7.0: must issue STARTTLS first – fix · Daniele Michelin</image:title>
      <image:caption>SMTP 530 5.7.0 means the server wants STARTTLS before it accepts login or mail. Causes, how to check with openssl and the right client settings.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/smtp-535-5-7-8-authentication-failed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-smtp-535-578.png</image:loc>
      <image:title>SMTP 535 5.7.8: authentication failed – fix · Daniele Michelin</image:title>
      <image:caption>SMTP 535 5.7.8 means the server rejected the SMTP login. Typical causes with Postfix/Dovecot, Gmail and Microsoft 365 and how to check each one.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/smtp-550-5-1-1-user-unknown/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-smtp-550-511-user-unknown.png</image:loc>
      <image:title>SMTP 550 5.1.1: user unknown – causes &amp; fix · Daniele Michelin</image:title>
      <image:caption>SMTP 550 5.1.1 means the recipient address does not exist on the target server. Check typos, missing mailbox maps and wrong domain class in Postfix.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/smtp-550-5-4-1-recipient-address-rejected-access-denied/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-exchange-online-550-541-access-denied.png</image:loc>
      <image:title>SMTP: 550 5.4.1 Recipient address rejected · Daniele Michelin</image:title>
      <image:caption>Microsoft 365 bounces with 550 5.4.1 Recipient address rejected: Access denied. The recipient is not in that tenant or the domain type is wrong. Checks and fixes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/smtp-550-5-7-1/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-smtp-550-571.png</image:loc>
      <image:title>SMTP 550 5.7.1: Relay access denied – causes &amp; fix · Daniele Michelin</image:title>
      <image:caption>SMTP 550 5.7.1 means the mail server refuses to relay or rejects by policy. Common causes, how to check with postconf and how to fix it for good.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/smtp-550-5-7-26/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-smtp-550-5726.png</image:loc>
      <image:title>SMTP 550 5.7.26 / 5.7.23: Gmail DMARC &amp; SPF fails · Daniele Michelin</image:title>
      <image:caption>Gmail rejects with 550 5.7.26 or 5.7.23? SPF, DKIM or DMARC alignment is broken. How to check the DNS records and fix the bounce for good.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/smtp-552-5-2-2-mailbox-full/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-smtp-552-522-mailbox-full.png</image:loc>
      <image:title>SMTP 552 5.2.2: mailbox full (quota) – fix · Daniele Michelin</image:title>
      <image:caption>SMTP 552 5.2.2 means the recipient&#x27;s mailbox has reached its storage limit. How to check the Dovecot quota and free space for good, step by step.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/smtp-553-5-7-1-sender-address-rejected/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-smtp-553-571-sender-rejected.png</image:loc>
      <image:title>SMTP 553 5.7.1: sender address rejected – fix · Daniele Michelin</image:title>
      <image:caption>SMTP 553 5.7.1 means the logged-in user may not send with this sender address. How to check smtpd_sender_login_maps and set up send-as properly.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/smtp-554-5-7-1/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-smtp-554-571.png</image:loc>
      <image:title>SMTP 554 5.7.1: blocklist rejection – how to fix · Daniele Michelin</image:title>
      <image:caption>SMTP 554 5.7.1 with blocked using: your IP is on a blocklist like Spamhaus. Find the cause, stop the spam and request delisting the right way.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/smtp-554-5-7-1-relay-access-denied/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-postfix-relay-access-denied.png</image:loc>
      <image:title>SMTP: 554 5.7.1 Relay access denied · Daniele Michelin</image:title>
      <image:caption>Postfix answers 554 5.7.1 Relay access denied: sender not logged in, or the recipient domain is not handled here. Check the rules and fix without an open relay.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/smtp-port-25-blocked/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-smtp-port-25-gesperrt.png</image:loc>
      <image:title>Port 25 blocked: mail delivery fails · Daniele Michelin</image:title>
      <image:caption>Many providers and clouds block outbound port 25. Mail stays in the queue and timeouts pile up. Submission with auth or a relay is the way out.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/speed-test-too-slow/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-speedtest-zu-langsam.png</image:loc>
      <image:title>Speed test shows less than your plan: causes · Daniele Michelin</image:title>
      <image:caption>Speed test below the contract value? Contract and practice differ. Test by cable, check with ping and find the bottleneck in your Wi-Fi.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/ssh-connect-to-host-port-22-connection-timed-out/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-ssh-connection-timed-out.png</image:loc>
      <image:title>SSH port 22: connection timed out – causes · Daniele Michelin</image:title>
      <image:caption>ssh: connect to host port 22: Connection timed out. Firewall, wrong address, server down or fail2ban ban? How to tell and fix it, and timeout vs refused.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/ssh-connection-refused-port-22/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-ssh-connection-refused.png</image:loc>
      <image:title>SSH: Connection refused on port 22 · Daniele Michelin</image:title>
      <image:caption>SSH Connection refused means nothing accepts connections on that port. Usually the service is down, listens elsewhere, or the packet was rejected.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/ssh-permission-denied-publickey/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-ssh-permission-denied-publickey.png</image:loc>
      <image:title>SSH: Permission denied (publickey) – fix · Daniele Michelin</image:title>
      <image:caption>SSH says “Permission denied (publickey)”: wrong user, key missing from authorized_keys, wrong permissions or ssh-rsa disabled. Check it step by step.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/ssh-remote-host-identification-has-changed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-ssh-host-key-changed.png</image:loc>
      <image:title>SSH: remote host identification has changed · Daniele Michelin</image:title>
      <image:caption>SSH warns REMOTE HOST IDENTIFICATION HAS CHANGED. Usually a reinstall or new server behind the same name. How to check the key and fix known_hosts safely.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/ssh-too-many-authentication-failures/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-ssh-too-many-authentication-failures.png</image:loc>
      <image:title>SSH: too many authentication failures · Daniele Michelin</image:title>
      <image:caption>SSH disconnects with Too many authentication failures before you type a password. The agent offers too many keys. Use IdentitiesOnly.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/ssl-certificate-has-expired/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-tls-certificate-expired.png</image:loc>
      <image:title>SSL: certificate has expired – fix · Daniele Michelin</image:title>
      <image:caption>“certificate has expired” or NET::ERR_CERT_DATE_INVALID: renewal failed, service not reloaded or wrong clock. How to check it and fix it for good.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/ssl-error-rx-record-too-long/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-tls-rx-record-too-long.png</image:loc>
      <image:title>SSL_ERROR_RX_RECORD_TOO_LONG: causes &amp; fix · Daniele Michelin</image:title>
      <image:caption>Firefox shows SSL_ERROR_RX_RECORD_TOO_LONG: on port 443 the server answers with plain HTTP. Usually “ssl” is missing from the nginx listen line.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/ssl-unable-to-get-local-issuer-certificate/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-tls-unable-to-get-local-issuer.png</image:loc>
      <image:title>unable to get local issuer certificate – fix · Daniele Michelin</image:title>
      <image:caption>“SSL certificate problem: unable to get local issuer certificate” in curl, Python or Git: missing intermediates, CA bundle or TLS inspection. Fixes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/sudo-user-is-not-in-the-sudoers-file/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-sudo-not-in-sudoers.png</image:loc>
      <image:title>sudo: user is not in the sudoers file · Daniele Michelin</image:title>
      <image:caption>sudo says “is not in the sudoers file. This incident will be reported.” The user lacks the sudo group or a rule. Check and fix it safely with usermod and visudo.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/systemd-job-failed-control-process-exited-with-error-code/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-systemd-job-failed-control-process.png</image:loc>
      <image:title>systemd: job failed, control process exited · Daniele Michelin</image:title>
      <image:caption>“Job for X.service failed because the control process exited with error code”: how to find the real error message with systemctl status and journalctl.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/systemd-start-request-repeated-too-quickly/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-systemd-start-limit-hit.png</image:loc>
      <image:title>systemd: start request repeated too quickly · Daniele Michelin</image:title>
      <image:caption>systemd: Start request repeated too quickly, Failed with result start-limit-hit. A crash loop hit the rate limit. Find the crash cause and reset the unit.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/tar-unexpected-end-of-file/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-tar-unexpected-end-of-file.png</image:loc>
      <image:title>tar: unexpected end of file while extracting · Daniele Michelin</image:title>
      <image:caption>“unexpected end of file” means the archive is incomplete – an interrupted download, a full disk or a stopped job. Here is how to salvage the rest.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/temporary-failure-in-name-resolution/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-linux-temporary-failure-name-resolution.png</image:loc>
      <image:title>Temporary failure in name resolution · Daniele Michelin</image:title>
      <image:caption>ping, apt or curl report Temporary failure in name resolution. The server cannot reach a DNS resolver: empty resolv.conf, resolved down or a blocked port 53.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/tls-err-ssl-version-or-cipher-mismatch/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-tls-version-cipher-mismatch.png</image:loc>
      <image:title>ERR_SSL_VERSION_OR_CIPHER_MISMATCH – fix · Daniele Michelin</image:title>
      <image:caption>ERR_SSL_VERSION_OR_CIPHER_MISMATCH: browser and server share no TLS version or cipher. Check ssl_protocols, ssl_ciphers and the virtual host certificate.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/two-routers-double-nat/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-mehrere-router-doppel-nat.png</image:loc>
      <image:title>Two routers at home: double NAT explained · Daniele Michelin</image:title>
      <image:caption>Two routers in a row cause double NAT, and port forwarding or game connections fail. How to spot the problem and fix it.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/wifi-connected-no-internet/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-wlan-verbunden-kein-internet.png</image:loc>
      <image:title>Wi-Fi connected but no internet: how to check · Daniele Michelin</image:title>
      <image:caption>Wi-Fi is up but websites do not load? Check step by step whether router, internet line or DNS is the cause, with real commands and simple fixes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/wifi-keeps-disconnecting/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-wlan-bricht-ab.png</image:loc>
      <image:title>Wi-Fi keeps disconnecting: dropouts and fixes · Daniele Michelin</image:title>
      <image:caption>Wi-Fi drops again and again or cuts out briefly? Simple causes such as radio interference, power saving and router load, with a check using real commands.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/wifi-repeater-or-mesh/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-wlan-repeater-mesh.png</image:loc>
      <image:title>Wi-Fi repeater or mesh: what suits your home · Daniele Michelin</image:title>
      <image:caption>Dead spot at home: repeater or mesh? General comparison, correct placement, checking reception with real commands and when a cable is the best solution.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/errors/wifi-slow/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-e-wlan-langsam.png</image:loc>
      <image:title>Slow Wi-Fi: causes and checks at home · Daniele Michelin</image:title>
      <image:caption>Wi-Fi connected but slow? Simple checks of distance, interference and router with real commands, plus typical fixes for a home network without special knowledge.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/a-aaaa-record/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-a-aaaa.png</image:loc>
      <image:title>What is an A record? AAAA and IPv6 explained · Daniele Michelin</image:title>
      <image:caption>An A record maps a hostname to an IPv4 address, AAAA maps it to IPv6. How they work, how to check them with dig, and common dual-stack mistakes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/acme/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-acme.png</image:loc>
      <image:title>What is ACME? Automated TLS certificates · Daniele Michelin</image:title>
      <image:caption>ACME is the protocol Let&#x27;s Encrypt and other CAs use to issue certificates automatically. HTTP-01, DNS-01, clients like certbot, and why renewals fail.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/authoritative-name-server/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-authoritative.png</image:loc>
      <image:title>What is an authoritative name server? · Daniele Michelin</image:title>
      <image:caption>An authoritative name server holds the original data of a DNS zone and gives definitive answers. How it differs from a resolver and how to query it.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/bounce-ndr/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-ndr.png</image:loc>
      <image:title>What is a bounce (NDR)? Reading failure notices · Daniele Michelin</image:title>
      <image:caption>A bounce or NDR says an email could not be delivered. How to read the status code, tell hard from soft bounces, and why backscatter is a problem.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/caa-record/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-caa.png</image:loc>
      <image:title>What is a CAA record? Restrict certificate issuers · Daniele Michelin</image:title>
      <image:caption>A CAA record defines which certificate authorities may issue certificates for your domain. Syntax, an example, and the errors it causes with ACME.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/caldav-carddav/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-caldav-carddav.png</image:loc>
      <image:title>What are CalDAV and CardDAV? Sync explained · Daniele Michelin</image:title>
      <image:caption>CalDAV syncs calendars and CardDAV syncs contacts, both built on WebDAV. Setup with Nextcloud, iOS, Android and Thunderbird, and the usual problems.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/certificate-chain/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-cert-chain.png</image:loc>
      <image:title>What is a certificate chain? Intermediates · Daniele Michelin</image:title>
      <image:caption>The certificate chain links your server certificate through intermediates to a trusted root CA. Why serving the full chain matters and how to check it.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/cname-record/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-cname.png</image:loc>
      <image:title>What is a CNAME record? DNS aliases explained · Daniele Michelin</image:title>
      <image:caption>A CNAME record makes one DNS name an alias of another. When to use it, why it is not allowed at the zone apex, and the mistakes that break it.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/content-security-policy/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-csp.png</image:loc>
      <image:title>What is a Content Security Policy (CSP)? · Daniele Michelin</image:title>
      <image:caption>A Content Security Policy defines which sources a page may load scripts, styles and frames from. Directives, report-only mode, and the usual breakage.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/cron/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-cron.png</image:loc>
      <image:title>What is a cron job? Cron on Linux explained · Daniele Michelin</image:title>
      <image:caption>Cron runs commands on a schedule on Linux. How a crontab line is built, how it compares to systemd timers, and why cron jobs fail without a trace.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/dkim/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-dkim.png</image:loc>
      <image:title>What is DKIM? Email signatures explained · Daniele Michelin</image:title>
      <image:caption>DKIM signs outgoing email cryptographically and publishes the public key in DNS. How it works, what the selector is, and why dkim=fail happens.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/dmarc/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-dmarc.png</image:loc>
      <image:title>What is DMARC? Policy and reports explained · Daniele Michelin</image:title>
      <image:caption>DMARC ties SPF and DKIM to the visible From address and tells receivers what to do with spoofed mail. Alignment, policy levels and aggregate reports.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/dns-propagation/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-propagation.png</image:loc>
      <image:title>What is DNS propagation? How long does it take? · Daniele Michelin</image:title>
      <image:caption>DNS propagation is the time until all resolvers see a changed DNS answer. Why it depends on the TTL and not a fixed delay, and how to check it.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/dns-resolver/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-resolver.png</image:loc>
      <image:title>What is a DNS resolver? Recursion explained · Daniele Michelin</image:title>
      <image:caption>A DNS resolver answers client queries by walking from the root to the right zone and caching the result. How recursion works and how to debug it.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/dnssec/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-dnssec.png</image:loc>
      <image:title>What is DNSSEC? Signed DNS answers explained · Daniele Michelin</image:title>
      <image:caption>DNSSEC signs DNS records so resolvers can detect forged answers. How it works, what the DS record does, and why mistakes take your domain offline.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/escalation/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-escalation.png</image:loc>
      <image:title>What is an escalation in IT support? · Daniele Michelin</image:title>
      <image:caption>An escalation hands a ticket to a higher support level or alerts management. Functional vs hierarchical escalation, and what a good handover contains.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/file-descriptor/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-file-descriptor.png</image:loc>
      <image:title>What is a file descriptor? Limits explained · Daniele Michelin</image:title>
      <image:caption>A file descriptor is the number a process uses to refer to open files and sockets. Where Too many open files comes from and how to raise the limit.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/glue-record/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-glue.png</image:loc>
      <image:title>What is a glue record? DNS delegation explained · Daniele Michelin</image:title>
      <image:caption>Glue records are name server IP addresses published in the parent zone. When you need them, how to set them, and what breaks when they are wrong.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/greylisting/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-greylisting.png</image:loc>
      <image:title>What is greylisting? Spam filtering by delay · Daniele Michelin</image:title>
      <image:caption>Greylisting temporarily rejects mail from unknown senders and accepts it on the retry. How it works, its downsides, and how to spot it in your logs.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/hsts/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-hsts.png</image:loc>
      <image:title>What is HSTS? HTTP Strict Transport Security · Daniele Michelin</image:title>
      <image:caption>HSTS tells browsers to reach a domain over HTTPS only. Header syntax, max-age, includeSubDomains, preload, and why rolling it back is hard.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/http-status-code/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-http-status.png</image:loc>
      <image:title>What is an HTTP status code? Classes explained · Daniele Michelin</image:title>
      <image:caption>HTTP status codes show how a server answered a request. The five classes, key codes such as 301, 403 and 502, and how to read them when debugging.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/identity-provider/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-idp.png</image:loc>
      <image:title>What is an identity provider (IdP)? · Daniele Michelin</image:title>
      <image:caption>An identity provider manages user accounts and confirms to applications, via SAML or OIDC, who is signed in. Examples, its role, and outage risks.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/imap/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-imap.png</image:loc>
      <image:title>What is IMAP? Mailbox access explained · Daniele Michelin</image:title>
      <image:caption>IMAP is the protocol mail clients use to access a mailbox stored on the server. How it differs from POP3, ports 143 and 993, and common problems.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-hub-glossary.png</image:loc>
      <image:title>IT glossary for admins: DNS, mail, TLS, SSO · Daniele Michelin</image:title>
      <image:caption>Terms from DNS, e-mail, TLS, single sign-on and Linux operations, explained briefly and practically — with examples and commands.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/inode/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-inode.png</image:loc>
      <image:title>What is an inode? Linux file systems explained · Daniele Michelin</image:title>
      <image:caption>An inode stores a file&#x27;s metadata in a Linux file system. Why a disk can be full while space is still free, and how to find what used up the inodes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/journald/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-journald.png</image:loc>
      <image:title>What is journald? Reading logs with systemd · Daniele Michelin</image:title>
      <image:caption>journald collects the logs of all services under systemd in a binary journal. Key journalctl commands, size limits and making logs persistent.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/json-web-token/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-jwt.png</image:loc>
      <image:title>What is a JWT? JSON Web Token explained · Daniele Michelin</image:title>
      <image:caption>A JWT is a signed token made of header, payload and signature, used in OIDC and APIs. Structure, validation, expiry, and common security mistakes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/logrotate/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-logrotate.png</image:loc>
      <image:title>What is logrotate? Rotating log files · Daniele Michelin</image:title>
      <image:caption>logrotate rotates, compresses and deletes old log files automatically. How a config is built, copytruncate vs postrotate, and the usual mistakes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/mta-mail-transfer-agent/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-mta.png</image:loc>
      <image:title>What is an MTA? Mail transfer agent explained · Daniele Michelin</image:title>
      <image:caption>An MTA accepts email over SMTP and passes it to the next server, for example Postfix or Exim. How it differs from MUA and MDA and what the queue is for.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/mta-sts/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-mta-sts.png</image:loc>
      <image:title>What is MTA-STS? Enforcing TLS for inbound mail · Daniele Michelin</image:title>
      <image:caption>MTA-STS forces sending mail servers to deliver over TLS with a valid certificate. The TXT record, the policy file, testing vs enforce, and pitfalls.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/multi-factor-authentication/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-mfa.png</image:loc>
      <image:title>What is MFA? Multi-factor authentication · Daniele Michelin</image:title>
      <image:caption>MFA requires a second factor at login besides the password, such as an app code, push prompt or security key. Methods, weaknesses and support cases.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/mx-record/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-mx.png</image:loc>
      <image:title>What is an MX record? Mail routing in DNS · Daniele Michelin</image:title>
      <image:caption>The MX record tells the world which server accepts email for a domain. Priorities, checking with dig, and the usual mistakes during a migration.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/nextcloud/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-nextcloud.png</image:loc>
      <image:title>What is Nextcloud? Architecture for admins · Daniele Michelin</image:title>
      <image:caption>Nextcloud is a self-hosted platform for files, calendars, contacts and collaboration. Building blocks: PHP, database, cache, storage.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/ns-record/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-ns.png</image:loc>
      <image:title>What is an NS record? DNS delegation explained · Daniele Michelin</image:title>
      <image:caption>NS records define which name servers are responsible for a zone. Delegation at the registry, checking with dig, and pitfalls when switching DNS host.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/nxdomain/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-nxdomain.png</image:loc>
      <image:title>What does NXDOMAIN mean? DNS error explained · Daniele Michelin</image:title>
      <image:caption>NXDOMAIN means the queried name does not exist in DNS. How it differs from NODATA and SERVFAIL, typical causes, and how to diagnose it with dig.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/oauth-2-0/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-oauth2.png</image:loc>
      <image:title>What is OAuth 2.0? Authorization explained · Daniele Michelin</image:title>
      <image:caption>OAuth 2.0 lets applications access resources without knowing the user&#x27;s password. Roles, access and refresh tokens, and which flows to use today.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/oom-killer/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-oom-killer.png</image:loc>
      <image:title>What is the OOM killer? Linux memory explained · Daniele Michelin</image:title>
      <image:caption>The OOM killer terminates processes on Linux when memory runs out. How it picks its victim, how to find it in the logs, and what actually fixes it.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/openid-connect/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-oidc.png</image:loc>
      <image:title>What is OpenID Connect (OIDC)? Explained · Daniele Michelin</image:title>
      <image:caption>OpenID Connect adds login and identity on top of OAuth 2.0. ID token, discovery document, client ID and redirect URI, and the usual setup mistakes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/php-fpm/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-php-fpm.png</image:loc>
      <image:title>What is PHP-FPM? Pools and tuning explained · Daniele Michelin</image:title>
      <image:caption>PHP-FPM runs PHP code in its own process pool that nginx or Apache reach via FastCGI. Pool settings, pm.max_children, and the errors you will see.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/ptr-record/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-ptr.png</image:loc>
      <image:title>What is a PTR record? Reverse DNS explained · Daniele Michelin</image:title>
      <image:caption>A PTR record resolves an IP address back to a hostname. Why mail servers need one, who controls it, and how to check reverse DNS with dig.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/relay-open-relay/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-open-relay.png</image:loc>
      <image:title>What is a mail relay? Open relays explained · Daniele Michelin</image:title>
      <image:caption>A relay forwards email to domains it is not responsible for. When that is intended, why an open relay is dangerous, and what Relay access denied means.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/reverse-proxy/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-reverse-proxy.png</image:loc>
      <image:title>What is a reverse proxy? What it does · Daniele Michelin</image:title>
      <image:caption>A reverse proxy accepts requests and forwards them to backend servers, for example nginx in front of Nextcloud. Its jobs, headers and common errors.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/root-cause-analysis/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-rca.png</image:loc>
      <image:title>What is a root cause analysis (RCA)? · Daniele Michelin</image:title>
      <image:caption>A root cause analysis looks for the underlying cause of an incident, not just the symptom. The process, 5 Whys, and a useful report.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/rpo-rto/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-rpo-rto.png</image:loc>
      <image:title>What are RPO and RTO? Recovery objectives · Daniele Michelin</image:title>
      <image:caption>RPO defines how much data loss is acceptable, RTO how fast a system must be back. Examples, how they drive backup design, and why restore tests matter.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/s3-object-storage/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-s3.png</image:loc>
      <image:title>What is S3 object storage? Buckets explained · Daniele Michelin</image:title>
      <image:caption>S3 object storage keeps data as objects in buckets, accessed via an HTTP API. How it differs from a file system, using it with Nextcloud, and pitfalls.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/saml/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-saml.png</image:loc>
      <image:title>What is SAML? The SSO protocol explained · Daniele Michelin</image:title>
      <image:caption>SAML 2.0 is an XML-based protocol for single sign-on between an identity provider and an application. The flow, metadata, certificates, common errors.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/scim/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-scim.png</image:loc>
      <image:title>What is SCIM? User provisioning explained · Daniele Michelin</image:title>
      <image:caption>SCIM syncs users and groups automatically from the identity provider into applications. How it differs from SSO, how it works, and common pitfalls.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/server-name-indication/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-sni.png</image:loc>
      <image:title>What is SNI? Server Name Indication explained · Daniele Michelin</image:title>
      <image:caption>SNI tells the server during the TLS handshake which hostname the client wants, so many HTTPS sites can share one IP. How it works and what breaks.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/service-level-agreement/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-sla.png</image:loc>
      <image:title>What is an SLA? Service level agreement · Daniele Michelin</image:title>
      <image:caption>An SLA defines measurable targets such as response time, resolution time and availability. Key terms, what 99.9% really means, and common pitfalls.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/service-provider/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-sp.png</image:loc>
      <image:title>What is a service provider (SP) in SSO? · Daniele Michelin</image:title>
      <image:caption>In SSO the service provider is the application that trusts the identity provider, for example Nextcloud with SAML. Entity ID, ACS URL, common errors.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/single-sign-on/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-sso.png</image:loc>
      <image:title>What is single sign-on (SSO)? Explained · Daniele Michelin</image:title>
      <image:caption>With SSO, users sign in once at an identity provider and reach several applications. Protocols involved, operational benefits, and common pitfalls.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/smtp/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-smtp.png</image:loc>
      <image:title>What is SMTP? Email delivery explained · Daniele Michelin</image:title>
      <image:caption>SMTP is the protocol mail servers use to deliver email to each other. How a session works, ports 25, 587 and 465, and how to read SMTP reply codes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/snapshot-vs-backup/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-snapshot-backup.png</image:loc>
      <image:title>Snapshot vs backup: what is the difference? · Daniele Michelin</image:title>
      <image:caption>A snapshot freezes the state of a volume, a backup is an independent copy stored elsewhere. Why snapshots alone are not a backup, and how to use both.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/soa-record/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-soa.png</image:loc>
      <image:title>What is a SOA record? Fields explained · Daniele Michelin</image:title>
      <image:caption>The SOA record sits at the top of every DNS zone. What serial, refresh, retry, expire and minimum mean, and why the serial number matters.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/spf/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-spf.png</image:loc>
      <image:title>What is SPF? Sender Policy Framework explained · Daniele Michelin</image:title>
      <image:caption>SPF uses a TXT record to define which servers may send mail for a domain. Syntax, the 10 DNS lookup limit, and the mistakes that break delivery.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/srv-record/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-srv.png</image:loc>
      <image:title>What is an SRV record? Service discovery in DNS · Daniele Michelin</image:title>
      <image:caption>An SRV record publishes host and port of a service such as Autodiscover, CalDAV, SIP or XMPP. Field layout, an example and how to check with dig.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/starttls/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-starttls.png</image:loc>
      <image:title>What is STARTTLS? Upgrading to encryption · Daniele Michelin</image:title>
      <image:caption>STARTTLS upgrades a plain-text SMTP, IMAP or POP3 connection to TLS. How it works, how it differs from implicit TLS, and its known weaknesses.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/subject-alternative-name/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-san.png</image:loc>
      <image:title>What is a SAN? Subject Alternative Name · Daniele Michelin</image:title>
      <image:caption>The Subject Alternative Name lists every hostname a TLS certificate is valid for. Why the Common Name no longer counts and how to inspect the SANs.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/submission-port-587/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-submission.png</image:loc>
      <image:title>What is mail submission? Port 587 vs 25 and 465 · Daniele Michelin</image:title>
      <image:caption>Submission is the SMTP service mail clients and apps use to send mail. How port 587 differs from 25 and 465, and why authentication is mandatory.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/support-levels-1st-2nd-3rd/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-support-levels.png</image:loc>
      <image:title>1st, 2nd, 3rd level support: differences · Daniele Michelin</image:title>
      <image:caption>Support levels split requests by complexity: intake and standard cases, technical analysis, engineering and vendor. What each level does, handovers.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/systemd-unit/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-systemd-unit.png</image:loc>
      <image:title>What is a systemd unit? Unit files explained · Daniele Michelin</image:title>
      <image:caption>A systemd unit describes a service, timer or mount managed by systemd. How unit files are structured, how to override them, and how to find start errors.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/tls/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-tls.png</image:loc>
      <image:title>What is TLS? Transport Layer Security explained · Daniele Michelin</image:title>
      <image:caption>TLS encrypts connections such as HTTPS, IMAPS and SMTP and proves the server&#x27;s identity with a certificate. The handshake, versions and common errors.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/ttl/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-ttl.png</image:loc>
      <image:title>What is TTL in DNS? Time to live explained · Daniele Michelin</image:title>
      <image:caption>TTL sets how long resolvers may cache a DNS record. Sensible values, how to lower TTL before a migration, and the most common misunderstandings.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/txt-record/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-txt.png</image:loc>
      <image:title>What is a TXT record? Uses and limits · Daniele Michelin</image:title>
      <image:caption>TXT records hold free text in DNS and carry SPF, DKIM, DMARC and domain verification tokens. Format, the 255-character limit and common errors.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/glossary/webdav/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-g-webdav.png</image:loc>
      <image:title>What is WebDAV? File access over HTTP · Daniele Michelin</image:title>
      <image:caption>WebDAV extends HTTP with methods to read, write and manage files on a server. How Nextcloud uses it, which clients support it, and common errors.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/header-ranking/banks/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/header-ranking.png?v=1</image:loc>
      <image:title>Header ranking banks: security headers of 19 banks · Daniele Michelin</image:title>
      <image:caption>How well do 19 banks and payment providers set their security headers? Heatmap graded A to F, sortable, with a live check on every row.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/link-galaxy/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/link-galaxy.png?v=1</image:loc>
      <image:title>Link galaxy: your website as a 3D star map</image:title>
      <image:caption>Enter a domain: an n8n workflow crawls the site and shows it as a 3D galaxy. Broken links, orphan pages and deep pages at a glance.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/n8n-live/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-live.png?v=1</image:loc>
      <image:title>n8n live: start a real workflow with one click</image:title>
      <image:caption>One click starts an n8n workflow: ISS, earthquakes, Hacker News, Wikipedia, weather and more, and an AI writes a bulletin. Watch it live.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/orbit-postcard/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/orbit-postcard.png?v=1</image:loc>
      <image:title>Orbit postcard: a live greeting from the ISS via n8n</image:title>
      <image:caption>Press the button and the ISS sends you a postcard with a real NASA satellite image of the spot it is flying over right now. Built with n8n and AI.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/110/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-110.png</image:loc>
      <image:title>Port 110: POP3 with STARTTLS · Daniele Michelin</image:title>
      <image:caption>Port 110 for POP3: fetching mail with STARTTLS, why port 995 with implicit TLS is preferred, and when you can close port 110 entirely.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/11211/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-11211.png</image:loc>
      <image:title>Port 11211: Memcached, local only · Daniele Michelin</image:title>
      <image:caption>Port 11211 for Memcached: the cache behind many PHP apps. Why UDP 11211 was abused for record DDoS attacks and how to lock Memcached down.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/1194/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-1194.png</image:loc>
      <image:title>Port 1194: OpenVPN over UDP · Daniele Michelin</image:title>
      <image:caption>Port 1194 for OpenVPN: UDP by default, TCP or port 443 as a fallback. Firewall rules, MTU problems and how OpenVPN compares to WireGuard.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/123/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-123.png</image:loc>
      <image:title>Port 123: NTP time synchronization · Daniele Michelin</image:title>
      <image:caption>Port 123/UDP for NTP: why accurate time matters for TLS, Kerberos and 2FA, whether the port must be open, and how to verify sync on Linux.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/143/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-143.png</image:loc>
      <image:title>Port 143: IMAP with STARTTLS · Daniele Michelin</image:title>
      <image:caption>Port 143 for IMAP: mailbox access with STARTTLS, how it differs from port 993, and why you should prevent plaintext logins on port 143.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/20-21/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-20-21.png</image:loc>
      <image:title>Port 20/21: FTP and its firewall pitfalls · Daniele Michelin</image:title>
      <image:caption>Port 21 is the FTP control channel, port 20 the active-mode data channel. Why FTP needs a passive port range and when SFTP is the better choice.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/2049/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-2049.png</image:loc>
      <image:title>Port 2049: NFS shares on the LAN · Daniele Michelin</image:title>
      <image:caption>Port 2049 for NFS: NFSv4 needs only this port, NFSv3 also needs rpcbind and mountd. Firewall rules, permission issues and security basics.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/22/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-22.png</image:loc>
      <image:title>Port 22: securing SSH and SFTP · Daniele Michelin</image:title>
      <image:caption>Port 22 for SSH and SFTP: what runs there, how to harden access with keys, Fail2ban and IP allowlists, and how to fix common login errors.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/25/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-25.png</image:loc>
      <image:title>Port 25: SMTP between mail servers · Daniele Michelin</image:title>
      <image:caption>Port 25 is for mail transport between servers (MX), not for mail clients. Why providers block outbound port 25 and how to test STARTTLS on it.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/3306/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-3306.png</image:loc>
      <image:title>Port 3306: MySQL and MariaDB · Daniele Michelin</image:title>
      <image:caption>Port 3306 for MySQL and MariaDB: why the database should never be public, bind-address, SSH tunnels and the most common connection errors.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/3389/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-3389.png</image:loc>
      <image:title>Port 3389: running RDP safely · Daniele Michelin</image:title>
      <image:caption>Port 3389 for Remote Desktop (RDP): why it should never face the internet directly, NLA, VPN or RD Gateway, and common connection errors.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/3478/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-3478.png</image:loc>
      <image:title>Port 3478: STUN/TURN for Nextcloud Talk · Daniele Michelin</image:title>
      <image:caption>Port 3478 for STUN/TURN with coturn: how Nextcloud Talk calls work behind NAT. Firewall rules, relay ports, external-ip and common errors.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/389/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-389.png</image:loc>
      <image:title>Port 389: LDAP and StartTLS · Daniele Michelin</image:title>
      <image:caption>Port 389 for LDAP and Active Directory: directory access with StartTLS, why the port never belongs on the internet, and typical bind errors.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/4190/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-4190.png</image:loc>
      <image:title>Port 4190: ManageSieve for mail filters · Daniele Michelin</image:title>
      <image:caption>Port 4190 for ManageSieve: manage server-side mail filters and vacation replies with Sieve from Roundcube, Thunderbird and Nextcloud Mail.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/443/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-443.png</image:loc>
      <image:title>Port 443: HTTPS, TLS and HTTP/3 · Daniele Michelin</image:title>
      <image:caption>Port 443 for HTTPS: TCP for TLS, UDP for HTTP/3 (QUIC). How to check the certificate chain and SNI and fix common TLS errors on web servers.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/465/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-465.png</image:loc>
      <image:title>Port 465: SMTPS with implicit TLS · Daniele Michelin</image:title>
      <image:caption>Port 465 for sending mail with implicit TLS, the recommended option again since RFC 8314. How it differs from port 587 and common client mistakes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/51820/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-51820.png</image:loc>
      <image:title>Port 51820: WireGuard VPN · Daniele Michelin</image:title>
      <image:caption>Port 51820/UDP for WireGuard: the usual ListenPort, why port scans show nothing, and how to fix handshake, NAT and MTU problems on tunnels.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/53/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-53.png</image:loc>
      <image:title>Port 53: DNS over UDP and TCP · Daniele Michelin</image:title>
      <image:caption>Port 53 for DNS: why TCP must be open alongside UDP, when the port may be public, and how open resolvers get abused for amplification attacks.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/5432/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-5432.png</image:loc>
      <image:title>Port 5432: securing PostgreSQL · Daniele Michelin</image:title>
      <image:caption>Port 5432 for PostgreSQL: listen_addresses, pg_hba.conf and why the database should never be public. How to fix the most common connection errors.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/587/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-587.png</image:loc>
      <image:title>Port 587: SMTP submission with STARTTLS · Daniele Michelin</image:title>
      <image:caption>Port 587 for sending mail from clients: submission with STARTTLS and mandatory login. Port 587 or 465? Differences and the most common errors.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/636/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-636.png</image:loc>
      <image:title>Port 636: LDAPS with implicit TLS · Daniele Michelin</image:title>
      <image:caption>Port 636 for LDAPS: LDAP over implicit TLS for Nextcloud, mail and Active Directory. Fixing certificate problems and restricting access.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/6379/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-6379.png</image:loc>
      <image:title>Port 6379: never expose Redis · Daniele Michelin</image:title>
      <image:caption>Port 6379 for Redis: why open Redis instances get hijacked, protected-mode, passwords, Unix sockets, and using Redis as a cache for Nextcloud.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/80/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-80.png</image:loc>
      <image:title>Port 80: HTTP, redirects and ACME · Daniele Michelin</image:title>
      <image:caption>Port 80 for HTTP: why it should stay open even with HTTPS, how Let&#x27;s Encrypt HTTP-01 uses it, and which redirect mistakes are most common.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/8080/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-8080.png</image:loc>
      <image:title>Port 8080: alternate HTTP port · Daniele Michelin</image:title>
      <image:caption>Port 8080 as the alternate HTTP port for proxies, Tomcat, Docker containers and backends. Why it shouldn&#x27;t be public, plus the Docker firewall trap.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/8443/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-8443.png</image:loc>
      <image:title>Port 8443: alternate HTTPS and Plesk · Daniele Michelin</image:title>
      <image:caption>Port 8443 as the alternate HTTPS port: Plesk panel, Tomcat, UniFi and admin interfaces. How to restrict access and fix certificate errors.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/853/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-853.png</image:loc>
      <image:title>Port 853: DNS over TLS (DoT) · Daniele Michelin</image:title>
      <image:caption>Port 853 for DNS over TLS and DNS over QUIC: encrypted DNS queries, Android Private DNS, firewall rules and how it compares to DNS over HTTPS.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/9000/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-9000.png</image:loc>
      <image:title>Port 9000: PHP-FPM and FastCGI · Daniele Michelin</image:title>
      <image:caption>Port 9000 for PHP-FPM: FastCGI between nginx and PHP, why an exposed port 9000 allows code execution, and how to fix 502 Bad Gateway errors.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/9090/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-9090.png</image:loc>
      <image:title>Port 9090: Prometheus server and Cockpit · Daniele Michelin</image:title>
      <image:caption>Port 9090 for the Prometheus server: web UI and API with no built-in login. Cockpit also uses port 9090. How to secure it and troubleshoot targets.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/9100/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-9100.png</image:loc>
      <image:title>Port 9100: Prometheus node_exporter · Daniele Michelin</image:title>
      <image:caption>Port 9100 for the Prometheus node_exporter: system metrics for monitoring. Why the port should only be reachable from your Prometheus server.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/993/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-993.png</image:loc>
      <image:title>Port 993: IMAPS with implicit TLS · Daniele Michelin</image:title>
      <image:caption>Port 993 for IMAPS: mailbox access with implicit TLS, the recommended setting for mail clients. Fixing certificate and login problems.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/995/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-p-995.png</image:loc>
      <image:title>Port 995: POP3S with implicit TLS · Daniele Michelin</image:title>
      <image:caption>Port 995 for POP3S: downloading mail over implicit TLS. When POP3 still makes sense, how to secure the port, and why messages disappear.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/ports/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/en-hub-ports.png</image:loc>
      <image:title>Network ports for admins: list with explanations · Daniele Michelin</image:title>
      <image:caption>The key TCP/UDP ports for mail, web, DNS, databases and VPN: what runs there, whether it should be open and how to check it.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/projects/acestudio-mac/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/projects/acestudio-mac-en.png</image:loc>
      <image:title>ACE Studio – Native macOS app for local AI music</image:title>
      <image:caption>ACE Studio is a SwiftUI front-end for a local ACE-Step 1.5 install: you describe a song, the app writes lyrics and style, drives the engine and keeps the…</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/projects/ai-receptionist/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/projects/ai-receptionist-en.png</image:loc>
      <image:title>Local AI Receptionist – AI phone receptionist, fully local</image:title>
      <image:caption>An AI receptionist that answers the phone (a Twilio number) or replies in the browser, books appointments and speaks Italian (with a Milanese accent) and…</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/projects/famiglia-os/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/projects/famiglia-os-en.png</image:loc>
      <image:title>FamigliaOS – The digital home, self-hosted · Daniele Michelin</image:title>
      <image:caption>FamigliaOS aims to bring calendar, tasks, meal planning and more for the whole family into one place – as a self-hosted app in a single container.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/projects/jarvis/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/projects/jarvis-en.png</image:loc>
      <image:title>J.A.R.V.I.S. – AI assistant for macOS with 120+ tools</image:title>
      <image:caption>J.A.R.V.I.S. is a cyberpunk-styled AI assistant for macOS: a Python/FastAPI backend and a Vite/TypeScript frontend, with text, voice and vision input. All…</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/projects/job-hunter/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/projects/job-hunter-en.png</image:loc>
      <image:title>job-hunter – Self-hosted job search assistant</image:title>
      <image:caption>job-hunter finds new postings every morning, scores them against your own profile and writes a short German cover letter with AI.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/projects/llm-wiki/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/projects/llm-wiki-en.png</image:loc>
      <image:title>LLM-Wiki – RAG over your own documents · Daniele Michelin</image:title>
      <image:caption>LLM-Wiki is a RAG system for your own documents: ask questions by text or voice and get answers backed by the sources they came from.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/projects/zimage-turbo-pipeline/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/projects/zimage-turbo-pipeline-en.png</image:loc>
      <image:title>zimage-turbo-pipeline – automatic AI video pipeline</image:title>
      <image:caption>The pipeline fetches current news, has Gemini write image prompts and copy, generates images, music and a voice-over, and assembles a vertical video with…</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/report-card/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/report-card.png?v=1</image:loc>
      <image:title>Website report card: what grade does your site get?</image:title>
      <image:caption>Enter a domain and get a school report card for your website: grades for security headers, e-mail protection and the TLS certificate, with teacher remarks.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/website-city/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/website-city.png?v=2</image:loc>
      <image:title>Your website as a city: live with n8n and AI</image:title>
      <image:caption>Enter a domain and see your website as a 3D model town: town hall as homepage, sections as districts, security headers as watchtowers.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/en/website-dna/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/website-dna.png?v=1</image:loc>
      <image:title>Website DNA: which foreign genes does your site load?</image:title>
      <image:caption>Enter a domain: an n8n workflow sequences your homepage. Own code, third parties, libraries with CVEs, cookies, shown as a 3D double helix.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/apt-could-not-get-lock-dpkg-lock-frontend/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-apt-dpkg-lock.png</image:loc>
      <image:title>apt: Could not get lock – dpkg lock-frontend · Daniele Michelin</image:title>
      <image:caption>apt meldet Could not get lock /var/lib/dpkg/lock-frontend. Meist läuft unattended-upgrades. So wartest du und stellst den Zustand sicher wieder her.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/apt-e-unable-to-locate-package/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-apt-unable-to-locate-package.png</image:loc>
      <image:title>apt: Unable to locate package – Lösung · Daniele Michelin</image:title>
      <image:caption>apt install bricht mit E: Unable to locate package ab. Veraltete Paketlisten, falscher Paketname, fehlende Komponente oder ein beendetes Release. Prüfung und Lösung.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/apt-nopubkey-signatur/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-apt-nopubkey-signature.png</image:loc>
      <image:title>apt: NO_PUBKEY – Signatur nicht prüfbar · Daniele Michelin</image:title>
      <image:caption>apt meldet NO_PUBKEY, wenn der Signaturschlüssel eines Repos fehlt oder abgelaufen ist. So holst du den richtigen Key, statt Warnungen zu ignorieren.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/bash-argument-list-too-long/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-bash-argument-list-too-long.png</image:loc>
      <image:title>bash: Argument list too long (rm, cp, mv) – Lösung · Daniele Michelin</image:title>
      <image:caption>rm, cp oder mv brechen mit Argument list too long ab. Die Shell hat * zu mehr Dateien erweitert, als der Kernel erlaubt. Lösung mit find und xargs.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/certbot-failed-to-renew-certificate-renewals-failed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-certbot-failed-to-renew-certificate.png</image:loc>
      <image:title>certbot: Zertifikat konnte nicht erneuert werden · Daniele Michelin</image:title>
      <image:caption>certbot renew meldet Failed to renew certificate, das Zertifikat läuft ab. Authenticator geändert, Port 80 belegt, Timer fehlt oder Hook defekt. Dry-Run und Lösung.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/certbot-timeout-during-connect-firewall/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-certbot-timeout-during-connect.png</image:loc>
      <image:title>Certbot: Timeout during connect – Firewall prüfen · Daniele Michelin</image:title>
      <image:caption>Let&#x27;s Encrypt scheitert mit Timeout during connect. Port 80 gesperrt, falsche IP oder nicht erreichbares IPv6. Prüfung und Lösung.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/cronjob-laeuft-nicht/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-cron-job-laeuft-nicht.png</image:loc>
      <image:title>Cronjob läuft nicht: Ursachen und Prüfung · Daniele Michelin</image:title>
      <image:caption>Ein Cronjob läuft nicht, obwohl er in der crontab steht: meist PATH, Umgebung, Rechte oder ein Syntaxfehler. So findest du es in wenigen Minuten.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/curl-6-could-not-resolve-host/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-curl-6-could-not-resolve-host.png</image:loc>
      <image:title>curl: (6) Could not resolve host – Lösung · Daniele Michelin</image:title>
      <image:caption>curl scheitert mit (6) Could not resolve host. Noch kein DNS-Eintrag, Tippfehler, Resolver-Problem oder alter Cache. Mit dig und getent klären.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/dig-connection-timed-out-no-servers-could-be-reached/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-dns-no-servers-could-be-reached.png</image:loc>
      <image:title>dig: no servers could be reached (Timeout) · Daniele Michelin</image:title>
      <image:caption>dig oder nslookup melden connection timed out; no servers could be reached. DNS-Server down, unerreichbar oder Port 53 gefiltert. Den Fehlerort finden und beheben.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/dkim-fail-body-hash-did-not-verify/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-dkim-body-hash-did-not-verify.png</image:loc>
      <image:title>DKIM: Body Hash did not verify – Ursachen · Daniele Michelin</image:title>
      <image:caption>dkim=fail (body hash did not verify): Der Text wurde nach dem Signieren verändert. Footer, Filter oder Gateway finden und zuletzt signieren.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/dmarc-unauthenticated-email-not-accepted-dmarc-policy/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-dmarc-policy-rejected.png</image:loc>
      <image:title>DMARC: E-Mail wegen DMARC-Richtlinie abgelehnt · Daniele Michelin</image:title>
      <image:caption>550 5.7.1 Unauthenticated email is not accepted due to the domain&#x27;s DMARC policy. SPF und DKIM ausrichten, Weiterleitungen prüfen, p=reject sicher einführen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/dns-cname-at-zone-apex-not-allowed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-dns-cname-apex.png</image:loc>
      <image:title>DNS: CNAME an der Zonen-Apex nicht erlaubt · Daniele Michelin</image:title>
      <image:caption>Fehler „CNAME and other data“ oder „CNAME at apex not allowed“: Die Hauptdomain darf keinen CNAME haben. Warum, und welche Alternativen funktionieren.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/dns-nxdomain-dns-probe-finished-nxdomain/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-dns-nxdomain.png</image:loc>
      <image:title>DNS NXDOMAIN / DNS_PROBE_FINISHED_NXDOMAIN · Daniele Michelin</image:title>
      <image:caption>NXDOMAIN bzw. DNS_PROBE_FINISHED_NXDOMAIN heißt: Der Name existiert laut DNS nicht. Tippfehler, fehlender Record, Delegation oder Negativ-Cache finden.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/dns-server-wechseln/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-dns-server-wechseln.png</image:loc>
      <image:title>DNS-Server wechseln im Router oder am PC · Daniele Michelin</image:title>
      <image:caption>Seiten laden nicht, aber ping 8.8.8.8 geht? Das spricht für ein DNS-Problem. So testen Sie mit nslookup und wechseln den DNS-Server, mit Hinweis zum Datenschutz.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/dns-servfail-dnssec/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-dns-servfail.png</image:loc>
      <image:title>DNS SERVFAIL: Ursachen finden (DNSSEC &amp; Co.) · Daniele Michelin</image:title>
      <image:caption>dig liefert SERVFAIL, obwohl die Zone stimmt? Häufig ist DNSSEC kaputt, etwa ein alter DS-Record nach Providerwechsel. So finden und beheben Sie es.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/dns-status-refused-query-refused/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-dns-query-refused.png</image:loc>
      <image:title>DNS: status REFUSED – Ursachen und Lösung · Daniele Michelin</image:title>
      <image:caption>dig zeigt status: REFUSED. Ein Nameserver antwortet nicht: Zone nicht vorhanden, Rekursion nicht erlaubt oder eine ACL sperrt dich. Prüfung und Lösung.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/docker-permission-denied-docker-sock/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-docker-sock-permission-denied.png</image:loc>
      <image:title>Docker: permission denied bei docker.sock · Daniele Michelin</image:title>
      <image:caption>Docker meldet permission denied beim Verbinden mit dem Daemon-Socket. Benutzer zur Gruppe docker hinzufügen, neu anmelden und das Risiko kennen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/docker-port-already-allocated/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-docker-port-already-allocated.png</image:loc>
      <image:title>Docker: port is already allocated · Daniele Michelin</image:title>
      <image:caption>„port is already allocated“ heißt: Ein anderer Container oder ein Host-Prozess belegt den Port. So findest du den Besitzer und löst den Konflikt.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/dovecot-imap-login-disconnected-auth-failed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-dovecot-auth-failed.png</image:loc>
      <image:title>Dovecot: Disconnected (auth failed) beheben · Daniele Michelin</image:title>
      <image:caption>Dovecot meldet „imap-login: Disconnected (auth failed)“? So trennen Sie falsches Passwort, Konfigurationsfehler und Brute-Force.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/dovecot-mailbox-open-failed-permission-denied/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-dovecot-mailbox-permission-denied.png</image:loc>
      <image:title>Dovecot: Permission denied im Postfach – Lösung · Daniele Michelin</image:title>
      <image:caption>Dovecot meldet open() failed: Permission denied bei Postfach oder Maildir. Falscher Besitzer oder mail_location nach Migration. Prüfung und Lösung.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/dpkg-was-interrupted-configure-a/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-dpkg-was-interrupted.png</image:loc>
      <image:title>dpkg was interrupted: configure -a – Lösung · Daniele Michelin</image:title>
      <image:caption>apt stoppt mit „dpkg was interrupted, you must manually run dpkg --configure -a“. Ein Update brach ab oder ein Skript scheiterte. Prüfung und sichere Reparatur.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/drucker-im-netzwerk-nicht-gefunden/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-drucker-im-netzwerk-nicht-gefunden.png</image:loc>
      <image:title>Drucker im Netzwerk nicht gefunden: Ursachen · Daniele Michelin</image:title>
      <image:caption>Der WLAN-Drucker taucht am PC oder Handy nicht auf? Typische Ursachen wie anderes Netz oder neue IP-Adresse und eine Schritt-für-Schritt-Prüfung.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/err-too-many-redirects-redirect-loop/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-http-too-many-redirects.png</image:loc>
      <image:title>ERR_TOO_MANY_REDIRECTS: zu viele Weiterleitungen · Daniele Michelin</image:title>
      <image:caption>Der Browser zeigt ERR_TOO_MANY_REDIRECTS: hat Sie zu oft weitergeleitet. Weiterleitungsschleife zwischen http und https, www, CDN oder App. Finden und beheben.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/fritzbox-kein-internet/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-fritzbox-internet-weg.png</image:loc>
      <image:title>FRITZ!Box: Kein Internet – Prüfung in 5 Schritten · Daniele Michelin</image:title>
      <image:caption>Kein Internet an der FRITZ!Box? Prüfen Sie Anzeigen, Neustart, Kabel und DNS in fünf Schritten und erfahren Sie, wann der Anruf beim Provider sinnvoll ist.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/fritzbox-nicht-erreichbar/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-fritzbox-nicht-erreichbar.png</image:loc>
      <image:title>fritz.box lässt sich nicht öffnen: Ursachen &amp; Lösung</image:title>
      <image:caption>fritz.box öffnet sich nicht? Prüfen Sie Verbindung, Adresse 192.168.178.1, DNS und Browser Schritt für Schritt mit einfachen Befehlen und finden Sie die Ursache.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/fritzbox-passwort-vergessen/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-fritzbox-passwort-vergessen.png</image:loc>
      <image:title>FRITZ!Box Passwort vergessen: Zugang zurückholen · Daniele Michelin</image:title>
      <image:caption>FRITZ!Box-Kennwort vergessen? So finden Sie das Passwort auf dem Gerät, prüfen die Erreichbarkeit und kommen wieder in die Oberfläche. Einfach erklärt.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/fritzbox-werkseinstellungen/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-fritzbox-werkseinstellungen.png</image:loc>
      <image:title>FRITZ!Box zurücksetzen: Was geht verloren? · Daniele Michelin</image:title>
      <image:caption>FRITZ!Box auf Werkseinstellungen zurücksetzen: wann es sinnvoll ist, was dabei verloren geht und wie Sie vorher eine Sicherung der Einstellungen anlegen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/fritzbox-wlan-passwort-finden-aendern/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-fritzbox-wlan-passwort.png</image:loc>
      <image:title>FRITZ!Box WLAN-Passwort finden oder ändern · Daniele Michelin</image:title>
      <image:caption>WLAN-Passwort der FRITZ!Box vergessen? So finden Sie es auf dem Aufkleber, in der Oberfläche oder am Rechner und ändern es sicher. Mit Menühinweisen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/gastnetz-einrichten-anleitung/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-gastnetz-einrichten.png</image:loc>
      <image:title>Gastnetz einrichten: Anleitung und Nutzen · Daniele Michelin</image:title>
      <image:caption>Wozu ein Gast-WLAN gut ist, wie Sie es im Router aktivieren und warum Drucker, Fernseher und NAS dort nicht sichtbar sind. Mit Prüfbefehlen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/http-400-request-header-or-cookie-too-large/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-http-400-header-too-large.png</image:loc>
      <image:title>400 Request Header Or Cookie Too Large beheben · Daniele Michelin</image:title>
      <image:caption>nginx meldet 400 „Request Header Or Cookie Too Large“: zu viele oder zu große Cookies oder Tokens. Ursachen, Test mit curl und sichere Puffergrößen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/http-403-forbidden-nginx/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-http-403.png</image:loc>
      <image:title>HTTP 403 Forbidden bei nginx: Ursache &amp; Lösung · Daniele Michelin</image:title>
      <image:caption>HTTP 403 Forbidden bei nginx: fehlende Index-Datei, Dateirechte, deny-Regeln oder SELinux. So finden Sie die Ursache im error.log und beheben sie.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/http-404-not-found-nginx/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-http-404-nginx.png</image:loc>
      <image:title>nginx: 404 Not Found bei vorhandenen Seiten · Daniele Michelin</image:title>
      <image:caption>nginx liefert 404 Not Found, obwohl die Seite existieren sollte. Falsches root oder alias, fehlendes try_files, falscher Server-Block. Prüfung und Lösung.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/http-413-request-entity-too-large/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-http-413.png</image:loc>
      <image:title>HTTP 413 Request Entity Too Large: nginx-Fix · Daniele Michelin</image:title>
      <image:caption>413 Request Entity Too Large: nginx oder ein vorgeschalteter Proxy blockt große Uploads. So setzen Sie client_max_body_size und PHP-Limits richtig.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/http-429-too-many-requests/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-http-429.png</image:loc>
      <image:title>HTTP 429 Too Many Requests: Ursache und Lösung · Daniele Michelin</image:title>
      <image:caption>HTTP 429 Too Many Requests heißt: Ein Rate-Limit greift. Finde die begrenzende Ebene (nginx, WAF, CDN, API) und passe das Limit richtig an oder beachte es.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/http-500-internal-server-error-php/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-http-500.png</image:loc>
      <image:title>HTTP 500 Internal Server Error: Ursache finden · Daniele Michelin</image:title>
      <image:caption>HTTP 500 Internal Server Error ist nur das Symptom. Die echte Ursache steht im nginx- und PHP-Log: Fatal Error, Speicherlimit, Rechte, Rewrite-Schleife.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/http-502-bad-gateway/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-http-502.png</image:loc>
      <image:title>HTTP 502 Bad Gateway (nginx, PHP-FPM): Lösung · Daniele Michelin</image:title>
      <image:caption>502 Bad Gateway bei nginx: Das Backend (PHP-FPM, Node, Gunicorn) antwortet nicht. Ursachen, Prüfung im error.log und schnelle Lösungen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/http-503-service-unavailable-nginx/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-http-503.png</image:loc>
      <image:title>HTTP 503 Service Unavailable: Ursachen &amp; Lösung · Daniele Michelin</image:title>
      <image:caption>HTTP 503 Service Unavailable bei nginx: Rate-Limit, Wartungsmodus, überlastetes Backend oder Load Balancer ohne gesunde Server finden.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/http-504-gateway-timeout/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-http-504.png</image:loc>
      <image:title>HTTP 504 Gateway Timeout (nginx): Ursachen &amp; Lösung · Daniele Michelin</image:title>
      <image:caption>504 Gateway Timeout bei nginx: Das Backend braucht länger als erlaubt. Wie Sie langsame Skripte, volle PHP-FPM-Pools und Timeouts finden und beheben.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/http-521-522-origin-error-cdn/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-http-521-522-origin.png</image:loc>
      <image:title>HTTP 521 / 522: CDN erreicht den Origin nicht · Daniele Michelin</image:title>
      <image:caption>Eine CDN-Seite zeigt 521 Web server is down oder 522 Connection timed out. Der Edge erreicht deinen Origin nicht: Firewall, falsche IP, Dienst aus. Lösung.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-hub-errors.png</image:loc>
      <image:title>Fehlercode-Lexikon für Admins: SMTP, HTTP, Nextcloud</image:title>
      <image:caption>Häufige Fehlermeldungen aus Mail, Webserver, Nextcloud, DNS und SSO: was sie bedeuten, wie man sie prüft und behebt — mit Befehlen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/ip-adresse-gateway-finden/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-ip-adresse-gateway-finden.png</image:loc>
      <image:title>IP-Adresse und Gateway finden (Windows, Mac, Linux) · Daniele Michelin</image:title>
      <image:caption>Router-Adresse unbekannt? So finden Sie Ihre IP-Adresse und das Standardgateway mit ipconfig, ip route oder netstat, und öffnen damit das Router-Menü.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/letsencrypt-acme-error-unauthorized/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-acme-unauthorized.png</image:loc>
      <image:title>Let&#x27;s Encrypt: acme:error:unauthorized beheben · Daniele Michelin</image:title>
      <image:caption>certbot meldet urn:ietf:params:acme:error:unauthorized? Die HTTP-01-Challenge scheitert, oft wegen AAAA-Record oder Weiterleitung. Diagnose und Lösung.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/letsencrypt-too-many-certificates-already-issued/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-letsencrypt-too-many-certificates.png</image:loc>
      <image:title>Let&#x27;s Encrypt: too many certificates – Rate Limit · Daniele Michelin</image:title>
      <image:caption>Let&#x27;s Encrypt meldet „too many certificates already issued“? Welches Rate Limit greift, wie Sie die Sperre abwarten und künftige Schleifen vermeiden.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/linux-no-space-left-on-device/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-linux-no-space-left.png</image:loc>
      <image:title>No space left on device trotz freiem Speicher · Daniele Michelin</image:title>
      <image:caption>„No space left on device“, aber df zeigt freien Platz? Meist sind Inodes voll oder gelöschte Dateien noch offen. Diagnose mit df -i, lsof +L1 und Lösung.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/linux-out-of-memory-killed-process-oom-killer/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-linux-oom-killer.png</image:loc>
      <image:title>Linux OOM Killer: Out of memory – Killed process · Daniele Michelin</image:title>
      <image:caption>„Out of memory: Killed process“ im Kernel-Log: Der OOM Killer hat einen Prozess beendet. Verursacher finden, Speicher begrenzen und Wiederholung vermeiden.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/linux-read-only-file-system/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-linux-read-only-file-system.png</image:loc>
      <image:title>Linux: Read-only file system – Ursache &amp; Lösung · Daniele Michelin</image:title>
      <image:caption>„Read-only file system“ unter Linux: Dateisystemfehler mit remount-ro, defekte Platte, ro-Mount oder systemd-ProtectSystem. Sicher diagnostizieren.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/linux-too-many-open-files/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-linux-too-many-open-files.png</image:loc>
      <image:title>Linux: Too many open files (EMFILE) beheben · Daniele Michelin</image:title>
      <image:caption>„Too many open files“ (Fehler 24) bei nginx, Java oder Node: Limit pro Prozess erreicht. Richtig prüfen, LimitNOFILE in systemd setzen und Lecks finden.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/mariadb-table-is-marked-as-crashed-and-should-be-repaired/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-mariadb-table-marked-as-crashed.png</image:loc>
      <image:title>MariaDB: Table is marked as crashed – Lösung · Daniele Michelin</image:title>
      <image:caption>MariaDB oder MySQL meldet Table is marked as crashed and should be repaired (1194/145). Meist MyISAM oder Aria nach einem Absturz. Erst sichern, dann REPAIR TABLE.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/mixed-content-blocked-insecure-resource/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-http-mixed-content.png</image:loc>
      <image:title>Mixed Content: unsichere Ressource blockiert · Daniele Michelin</image:title>
      <image:caption>Die Browser-Konsole meldet Mixed Content: Seite per HTTPS geladen, aber unsichere Ressource angefordert, und blockiert sie. Die http://-URLs finden und beheben.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/mount-wrong-fs-type-bad-option-bad-superblock/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-mount-wrong-fs-type-bad-superblock.png</image:loc>
      <image:title>mount: wrong fs type, bad superblock – Lösung · Daniele Michelin</image:title>
      <image:caption>mount scheitert mit wrong fs type, bad option, bad superblock. Fehlendes Hilfspaket, falscher Typ, kein Dateisystem oder Schaden. Erst sicher prüfen, dann handeln.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/mysql-1045-access-denied/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-mysql-1045-access-denied.png</image:loc>
      <image:title>MySQL 1045: Access denied for user – Lösung · Daniele Michelin</image:title>
      <image:caption>MySQL / MariaDB ERROR 1045 Access denied for user. Falsches Passwort, falscher Host oder das unix_socket-Plugin bei root. Prüfungen und Lösung in Minuten.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/mysql-1064-syntax-error/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-mysql-1064-syntax-error.png</image:loc>
      <image:title>MariaDB/MySQL: ERROR 1064 Syntaxfehler · Daniele Michelin</image:title>
      <image:caption>ERROR 1064 heißt: Der Server kann den Befehl nicht parsen. Meist sind es reservierte Wörter, Versionsunterschiede oder ein kaputtes Anführungszeichen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/mysql-1067-invalid-default-value/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-mysql-1067-invalid-default-value.png</image:loc>
      <image:title>MySQL: ERROR 1067 Invalid default value · Daniele Michelin</image:title>
      <image:caption>ERROR 1067 heißt: Der Default-Wert passt nicht zum Spaltentyp oder zum sql_mode. Typisch bei TIMESTAMP, Null-Datum und alten Dumps.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/mysql-2003-cant-connect-10061/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-mysql-2003-cant-connect-10061.png</image:loc>
      <image:title>MySQL: ERROR 2003 Can&#x27;t connect (10061) · Daniele Michelin</image:title>
      <image:caption>ERROR 2003 (HY000) mit 10061 heißt: Auf dem Zielport nimmt niemand Verbindungen an. Meist läuft der Dienst nicht, lauscht nur lokal oder eine Firewall blockt.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/mysql-error-1040-too-many-connections/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-mysql-1040-too-many-connections.png</image:loc>
      <image:title>MySQL: ERROR 1040 Too many connections – Lösung · Daniele Michelin</image:title>
      <image:caption>MySQL oder MariaDB lehnt neue Clients mit ERROR 1040 Too many connections ab. Erst undichte Apps und langsame Abfragen finden, dann max_connections anheben.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/mysql-error-2002-cant-connect-through-socket/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-mysql-2002-socket.png</image:loc>
      <image:title>MySQL-Fehler 2002: Verbindung über Socket scheitert · Daniele Michelin</image:title>
      <image:caption>MySQL / MariaDB ERROR 2002: Can&#x27;t connect to local server through socket. Server aus, falscher Socket-Pfad oder volle Platte. Prüfungen und Lösungen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/mysql-server-has-gone-away-2006/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-mysql-2006-server-has-gone-away.png</image:loc>
      <image:title>MySQL server has gone away (Fehler 2006) · Daniele Michelin</image:title>
      <image:caption>MySQL oder MariaDB meldet MySQL server has gone away, Fehler 2006. Leerlauf-Timeout, Paket über max_allowed_packet oder abgestürzter Server. Prüfung und Lösung.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/nas-von-unterwegs-erreichen/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-nas-von-unterwegs-erreichen.png</image:loc>
      <image:title>NAS von unterwegs erreichen: VPN statt Portfreigabe · Daniele Michelin</image:title>
      <image:caption>So erreichen Sie NAS oder Heim-PC von außen: VPN, Portfreigabe und DynDNS im Vergleich, mit Sicherheitshinweisen und Prüfbefehlen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/net-err-cert-authority-invalid-self-signed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-tls-cert-authority-invalid.png</image:loc>
      <image:title>ERR_CERT_AUTHORITY_INVALID: selbstsigniert · Daniele Michelin</image:title>
      <image:caption>Browser zeigt NET::ERR_CERT_AUTHORITY_INVALID: Zertifikat selbstsigniert, von einer unbekannten internen CA oder ohne Kette ausgeliefert. Prüfung und Lösung.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/net-err-cert-common-name-invalid/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-tls-cert-common-name-invalid.png</image:loc>
      <image:title>ERR_CERT_COMMON_NAME_INVALID: Ursache &amp; Lösung · Daniele Michelin</image:title>
      <image:caption>Chrome meldet NET::ERR_CERT_COMMON_NAME_INVALID: Der aufgerufene Hostname steht nicht im Zertifikat. SAN prüfen, vHost finden, Zertifikat erweitern.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/net-err-cert-date-invalid-clock-wrong/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-tls-cert-date-invalid.png</image:loc>
      <image:title>ERR_CERT_DATE_INVALID: Uhrzeit oder Gültigkeit · Daniele Michelin</image:title>
      <image:caption>NET::ERR_CERT_DATE_INVALID: Zertifikat abgelaufen oder für die genutzte Uhr noch nicht gültig. Oft ist die Geräteuhr falsch. Daten vergleichen und beheben.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/nextcloud-cannot-write-into-config-directory/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-nextcloud-config-not-writable.png</image:loc>
      <image:title>Nextcloud: In „config“ kann nicht geschrieben werden</image:title>
      <image:caption>Nextcloud meldet Cannot write into config directory. Falscher Besitzer nach Restore, SELinux oder config_is_read_only. Prüfung und richtige Rechte.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/nextcloud-csrf-check-failed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-nextcloud-csrf-check-failed.png</image:loc>
      <image:title>Nextcloud „CSRF check failed“ beheben · Daniele Michelin</image:title>
      <image:caption>Nextcloud meldet „CSRF check failed“ beim Login oder Speichern? Meist geht die Session verloren: Cookies, Proxy, Session-Speicher, Redis prüfen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/nextcloud-data-directory-readable-by-other-users/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-nextcloud-data-dir-readable.png</image:loc>
      <image:title>Nextcloud: data directory is readable by others · Daniele Michelin</image:title>
      <image:caption>Nextcloud meldet „Your data directory is readable by other users“. So setzen Sie 0770 richtig, auch auf NFS- und CIFS-Mounts, ohne den Zugriff zu brechen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/nextcloud-database-is-missing-some-indexes/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-nextcloud-missing-indexes.png</image:loc>
      <image:title>Nextcloud: Datenbank fehlen Indizes – Lösung · Daniele Michelin</image:title>
      <image:caption>Nextcloud meldet „The database is missing some indexes“. So ergänzen Sie Indizes, Spalten und Primärschlüssel mit occ sicher.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/nextcloud-file-is-locked-423/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-nextcloud-423-locked.png</image:loc>
      <image:title>Nextcloud „File is locked“ (423 Locked) beheben · Daniele Michelin</image:title>
      <image:caption>Nextcloud meldet „is locked“ oder 423 Locked? Hängende Dateisperren nach Abbrüchen. So prüfen Sie Redis-Locking, Cron und entfernen alte Locks sicher.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/nextcloud-internal-server-error-request-id/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-nextcloud-internal-server-error.png</image:loc>
      <image:title>Nextcloud Internal Server Error: Ursache finden · Daniele Michelin</image:title>
      <image:caption>Nextcloud zeigt „Internal Server Error“ mit Request ID? So finden Sie den passenden Eintrag in nextcloud.log und beheben die häufigsten Ursachen gezielt.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/nextcloud-last-background-job-ran-ago-cron/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-nextcloud-cron-last-job.png</image:loc>
      <image:title>Nextcloud: Last background job ran … days ago · Daniele Michelin</image:title>
      <image:caption>Nextcloud meldet „Last background job execution ran … ago“? So prüfen Sie Cron-Modus, crontab von www-data und Fehler in cron.php.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/nextcloud-maintenance-mode-enabled/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-nextcloud-maintenance-mode.png</image:loc>
      <image:title>Nextcloud hängt im Wartungsmodus: so beenden · Daniele Michelin</image:title>
      <image:caption>Nextcloud bleibt im Wartungsmodus hängen? Meist nach abgebrochenem Update. So prüfen Sie den Status mit occ, schließen das Upgrade ab und schalten ihn aus.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/nextcloud-memcache-apcu-not-available-for-local-cache/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-nextcloud-memcache-apcu.png</image:loc>
      <image:title>Nextcloud: Memcache APCu not available beheben · Daniele Michelin</image:title>
      <image:caption>Nextcloud meldet bei occ oder Cron „Memcache APCu not available for local cache“: Meist fehlt apc.enable_cli=1 in der CLI-php.ini. Prüfung und Lösung.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/nextcloud-redisexception-redis-went-away/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-nextcloud-redis-went-away.png</image:loc>
      <image:title>Nextcloud: Redis went away – Ursachen und Lösung · Daniele Michelin</image:title>
      <image:caption>Nextcloud loggt RedisException: Redis went away, Seiten hängen oder liefern 500. Redis ist aus, Socket oder Rechte falsch, oder RAM voll. Prüfung und Lösung.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/nextcloud-reverse-proxy-header-configuration-incorrect/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-nextcloud-reverse-proxy-header.png</image:loc>
      <image:title>Nextcloud: Reverse-Proxy-Header falsch – Lösung · Daniele Michelin</image:title>
      <image:caption>Nextcloud meldet eine falsche Reverse-Proxy-Header-Konfiguration. So setzt du trusted_proxies und die Header hinter nginx, Traefik oder Cloudflare.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/nextcloud-saml-signature-validation-failed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-saml-signature-validation-failed.png</image:loc>
      <image:title>SAML: Signature validation failed in Nextcloud · Daniele Michelin</image:title>
      <image:caption>Nextcloud user_saml meldet „Signature validation failed. SAML Response rejected“? Meist ein rotiertes IdP-Zertifikat. Ursachen, Prüfung und Lösung.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/nextcloud-some-files-have-not-passed-the-integrity-check/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-nextcloud-integrity-check-failed.png</image:loc>
      <image:title>Nextcloud: Integritätsprüfung fehlgeschlagen · Daniele Michelin</image:title>
      <image:caption>Nextcloud listet INVALID_HASH, MISSING_FILE oder EXTRA_FILE nach der Integritätsprüfung. Reste eines manuellen Updates oder geänderte Dateien. Lesen und beheben.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/nextcloud-too-many-requests-brute-force-protection/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-nextcloud-too-many-requests.png</image:loc>
      <image:title>Nextcloud: Too many requests – Brute-Force-Schutz · Daniele Michelin</image:title>
      <image:caption>Nextcloud zeigt Too many requests from your network. Der Brute-Force-Schutz bremst eine IP. Zurücksetzen, Büro eintragen, geteilte Proxy-IP beheben.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/nextcloud-trusted-domain-error/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-nextcloud-trusted-domain.png</image:loc>
      <image:title>Nextcloud: nicht vertrauenswürdige Domain – Lösung · Daniele Michelin</image:title>
      <image:caption>„Zugriff über eine nicht vertrauenswürdige Domain“ in Nextcloud: Hostname fehlt in trusted_domains. So tragen Sie ihn per occ ein und prüfen den Proxy.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/nextcloud-updates-between-multiple-major-versions-unsupported/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-nextcloud-multiple-major-versions-unsupported.png</image:loc>
      <image:title>Nextcloud: Update über mehrere Hauptversionen · Daniele Michelin</image:title>
      <image:caption>occ upgrade oder der Updater bricht ab: Updates über mehrere Hauptversionen und Downgrades werden nicht unterstützt. Schritt für Schritt oder Code und DB angleichen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/nextcloud-well-known-caldav-carddav-not-set-up/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-nextcloud-well-known-caldav-carddav.png</image:loc>
      <image:title>Nextcloud: /.well-known/caldav nicht eingerichtet · Daniele Michelin</image:title>
      <image:caption>Nextcloud warnt, dass der Webserver /.well-known/caldav oder carddav nicht auflöst. 301-Weiterleitung auf /remote.php/dav in nginx oder Apache ergänzen. Lösung.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/nextcloud-your-data-directory-is-invalid-ocdata/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-nextcloud-data-directory-invalid.png</image:loc>
      <image:title>Nextcloud: Datenverzeichnis ungültig – Lösung · Daniele Michelin</image:title>
      <image:caption>Nextcloud meldet, dein Datenverzeichnis sei ungültig, und verlangt .ocdata. Datenträger nicht eingehängt, Pfad falsch oder Datei verloren. Prüfung und Lösung.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/nginx-bind-address-already-in-use/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-nginx-address-in-use.png</image:loc>
      <image:title>nginx: bind() failed (98), Adresse schon belegt · Daniele Michelin</image:title>
      <image:caption>nginx startet nicht: bind() to 0.0.0.0:80 failed (98: Address already in use). So findest du den Prozess, der den Port belegt, und behebst es in einer Minute.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/nginx-connect-failed-111-connection-refused-upstream/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-nginx-connection-refused-111.png</image:loc>
      <image:title>nginx: connect() failed (111: Connection refused) · Daniele Michelin</image:title>
      <image:caption>nginx meldet „connect() failed (111: Connection refused) while connecting to upstream“: Backend läuft nicht oder lauscht woanders. Prüfung und Lösung.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/nginx-could-not-build-server-names-hash/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-nginx-server-names-hash.png</image:loc>
      <image:title>nginx: could not build server_names_hash – Lösung · Daniele Michelin</image:title>
      <image:caption>nginx -t schlägt mit could not build server_names_hash fehl, you should increase server_names_hash_bucket_size. Ursache und die genaue Einstellung zum Ändern.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/nginx-emerg-cannot-load-certificate-pem-no-start-line/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-nginx-cannot-load-certificate.png</image:loc>
      <image:title>nginx: [emerg] cannot load certificate – Lösung · Daniele Michelin</image:title>
      <image:caption>nginx -t scheitert mit cannot load certificate, no start line oder key values mismatch. Falscher Pfad, falsche Datei oder fremder Schlüssel. Prüfung und Lösung.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/nginx-php-fpm-primary-script-unknown-file-not-found/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-nginx-primary-script-unknown.png</image:loc>
      <image:title>nginx PHP-FPM: Primary script unknown – Lösung · Daniele Michelin</image:title>
      <image:caption>nginx zeigt „File not found.“ und im Log „Primary script unknown“: PHP-FPM findet das Skript nicht. SCRIPT_FILENAME, root und Pfade in Containern prüfen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/nginx-php-fpm-socket-13-permission-denied/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-nginx-fpm-socket-permission-denied.png</image:loc>
      <image:title>nginx: PHP-FPM-Socket (13: Permission denied) · Daniele Michelin</image:title>
      <image:caption>nginx liefert 502 und loggt connect() to unix:/run/php/...sock failed (13: Permission denied). Der nginx-Benutzer darf den PHP-FPM-Socket nicht nutzen. Lösung.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/nginx-rewrite-or-internal-redirection-cycle/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-nginx-rewrite-redirection-cycle.png</image:loc>
      <image:title>nginx: internal redirection cycle – Lösung · Daniele Michelin</image:title>
      <image:caption>nginx loggt rewrite or internal redirection cycle und antwortet 500. try_files zeigt auf eine fehlende index.html oder das root ist falsch. Lösung.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/nginx-upstream-prematurely-closed-connection/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-nginx-upstream-prematurely-closed.png</image:loc>
      <image:title>nginx: upstream prematurely closed connection – Lösung</image:title>
      <image:caption>nginx antwortet mit 502 und loggt upstream prematurely closed connection. Das Backend ist abgestürzt, neu gestartet oder spricht ein anderes Protokoll.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/nginx-upstream-sent-too-big-header/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-nginx-too-big-header.png</image:loc>
      <image:title>nginx: upstream sent too big header – Lösung · Daniele Michelin</image:title>
      <image:caption>nginx meldet „upstream sent too big header“ und liefert 502? Die Header des Backends passen nicht in den Puffer. So erhöhen Sie fastcgi- und proxy-Buffer.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/nginx-upstream-timed-out-110/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-nginx-upstream-timed-out.png</image:loc>
      <image:title>nginx: upstream timed out (110) – Lösung · Daniele Michelin</image:title>
      <image:caption>nginx loggt upstream timed out (110: Connection timed out), Nutzer sehen 504. So findest du das langsame Backend und setzt das richtige Timeout.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/nginx-worker-connections-are-not-enough/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-nginx-worker-connections.png</image:loc>
      <image:title>nginx: worker_connections are not enough – Lösung · Daniele Michelin</image:title>
      <image:caption>nginx loggt worker_connections are not enough, Anfragen scheitern oder hängen. Das Verbindungslimit pro Worker ist erreicht. Limits prüfen und sicher erhöhen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/oidc-invalid-client-client-authentication-failed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-oidc-invalid-client.png</image:loc>
      <image:title>OIDC: invalid_client am Token-Endpunkt · Daniele Michelin</image:title>
      <image:caption>OIDC-Login scheitert mit invalid_client. Falsches oder abgelaufenes Client-Secret, falsche Auth-Methode oder unbekannte Client-ID. Prüfung und Lösung.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/oidc-invalid-grant-token-endpoint/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-oidc-invalid-grant.png</image:loc>
      <image:title>OIDC invalid_grant: Ursachen &amp; Lösung · Daniele Michelin</image:title>
      <image:caption>OIDC-Fehler „invalid_grant“ am Token-Endpoint: abgelaufener oder doppelt genutzter Code, abweichende redirect_uri, widerrufener Refresh-Token, Uhrzeit.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/oidc-redirect-uri-mismatch-invalid-redirect-uri/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-oidc-redirect-uri-mismatch.png</image:loc>
      <image:title>OIDC redirect_uri_mismatch: Ursache &amp; Lösung · Daniele Michelin</image:title>
      <image:caption>OIDC-Fehler „redirect_uri_mismatch“ oder „Invalid parameter: redirect_uri“: Die Callback-URL passt nicht zur Registrierung beim IdP.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/php-allowed-memory-size-exhausted/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-php-memory-exhausted.png</image:loc>
      <image:title>PHP: Allowed memory size exhausted – Lösung · Daniele Michelin</image:title>
      <image:caption>PHP Fatal error: Allowed memory size exhausted. memory_limit in der richtigen php.ini erhöhen (FPM oder CLI) und den Speicherfresser finden.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/php-call-to-undefined-function-mysqli-connect/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-php-mysqli-undefined-function.png</image:loc>
      <image:title>PHP: Call to undefined function mysqli_connect() – Lösung</image:title>
      <image:caption>PHP bricht mit Call to undefined function mysqli_connect() ab (oder Class mysqli not found). Die mysqli-Erweiterung ist für die genutzte PHP-Version nicht geladen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/php-cannot-modify-header-information-headers-already-sent/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-php-headers-already-sent.png</image:loc>
      <image:title>PHP: Cannot modify header information – Lösung · Daniele Michelin</image:title>
      <image:caption>PHP warnt Cannot modify header information - headers already sent by. Vor header() oder session_start() kam Ausgabe, ein BOM oder Leerraum. So findest du es.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/php-fpm-server-reached-pm-max-children/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-php-fpm-max-children.png</image:loc>
      <image:title>PHP-FPM: server reached pm.max_children – Lösung · Daniele Michelin</image:title>
      <image:caption>PHP-FPM loggt server reached pm.max_children, die Seite wird langsam oder liefert 502/504. Pool nach RAM dimensionieren und langsame Anfragen finden.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/php-maximum-execution-time-exceeded/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-php-max-execution-time.png</image:loc>
      <image:title>PHP: Maximum execution time exceeded – Lösung · Daniele Michelin</image:title>
      <image:caption>PHP Fatal error: Maximum execution time of 30 seconds exceeded. max_execution_time sicher erhöhen, auch das nginx-Timeout prüfen und den langsamen Teil beheben.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/php-parse-error-unexpected-token/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-php-parse-error-unexpected-token.png</image:loc>
      <image:title>PHP: Parse error unexpected token · Daniele Michelin</image:title>
      <image:caption>PHP Parse error: unexpected token heißt: Die Datei ist syntaktisch kaputt – oft nach einem PHP-Upgrade, einem abgebrochenen Upload oder einem fehlenden Semikolon.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/php-uploaded-file-exceeds-upload-max-filesize/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-php-upload-max-filesize.png</image:loc>
      <image:title>PHP: uploaded file exceeds upload_max_filesize – Lösung</image:title>
      <image:caption>Uploads scheitern mit The uploaded file exceeds the upload_max_filesize directive in php.ini. Welche Limits in PHP und nginx du wo erhöhen musst.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/portfreigabe-geht-nicht/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-portfreigabe-geht-nicht.png</image:loc>
      <image:title>Portfreigabe funktioniert nicht – Ursachen &amp; Check · Daniele Michelin</image:title>
      <image:caption>Portfreigabe im Router, aber von außen nichts erreichbar? Häufig sind DS-Lite oder CGNAT schuld, sonst Firewall oder falsche Adresse. Prüfung Schritt für Schritt.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/postfix-deferred-connect-connection-timed-out/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-postfix-connection-timed-out.png</image:loc>
      <image:title>Postfix: Connection timed out, Mail zurückgestellt · Daniele Michelin</image:title>
      <image:caption>Postfix status=deferred (connect to ...:25: Connection timed out). Port 25 gesperrt, Firewall oder IPv6-Problem. Prüfungen und Lösungen mit Relay über 587.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/postfix-host-or-domain-name-not-found-name-service-error/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-postfix-host-not-found.png</image:loc>
      <image:title>Postfix: Host or domain name not found – Lösung · Daniele Michelin</image:title>
      <image:caption>Postfix status=deferred: Host or domain name not found, Name service error type=MX. Resolver, Chroot oder Empfängerdomain prüfen. Lösungen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/postfix-hostname-does-not-resolve-to-address/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-postfix-hostname-does-not-resolve.png</image:loc>
      <image:title>Postfix: hostname löst nicht zur Adresse auf · Daniele Michelin</image:title>
      <image:caption>Postfix-Warnung „hostname does not resolve to address“: Reverse- und Forward-DNS passen nicht. Wann das harmlos ist und wann Sie handeln müssen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/postfix-mail-for-domain-loops-back-to-myself/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-postfix-mail-loops-back-to-myself.png</image:loc>
      <image:title>Postfix: mail loops back to myself – Lösung · Daniele Michelin</image:title>
      <image:caption>Postfix weist ab: mail for example.com loops back to myself. MX oder Relay zeigt auf diesen Server, die Domain ist hier nicht eingerichtet. Schleife finden, beheben.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/postfix-sasl-authentication-failed-no-mechanism-available/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-postfix-sasl-authentication-failed.png</image:loc>
      <image:title>Postfix: SASL-Anmeldung fehlgeschlagen – Lösung · Daniele Michelin</image:title>
      <image:caption>Postfix meldet SASL authentication failed, no mechanism available. Fehlende libsasl2-Module, falsche sasl_passwd oder TLS. Prüfung und Lösung.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/postgres-too-many-clients/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-postgres-too-many-clients.png</image:loc>
      <image:title>Postgres: FATAL too many clients already · Daniele Michelin</image:title>
      <image:caption>„sorry, too many clients already“ heißt: max_connections ist erschöpft. Meist sind es offene Pools, ein Leak oder idle-Transaktionen – so misst du es.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/postgresql-fatal-no-pg-hba-conf-entry-for-host/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-postgres-no-pg-hba-conf-entry.png</image:loc>
      <image:title>PostgreSQL: no pg_hba.conf entry for host – Lösung · Daniele Michelin</image:title>
      <image:caption>PostgreSQL antwortet mit FATAL: no pg_hba.conf entry for host. Keine Regel erlaubt Adresse, Benutzer, Datenbank oder SSL-Modus. Regeln prüfen, enge Zeile ergänzen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/postgresql-fatal-password-authentication-failed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-postgres-password-authentication-failed.png</image:loc>
      <image:title>PostgreSQL: password authentication failed – Lösung · Daniele Michelin</image:title>
      <image:caption>PostgreSQL lehnt die Anmeldung mit FATAL: password authentication failed ab. Falsches Passwort, andere pg_hba.conf-Zeile oder Kodierung in der URL. Prüfung.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/redis-oom-command-not-allowed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-redis-oom-command-not-allowed.png</image:loc>
      <image:title>Redis: OOM command not allowed · Daniele Michelin</image:title>
      <image:caption>Redis meldet „OOM command not allowed“, weil der Speicher über maxmemory liegt und keine Keys verdrängt werden. So bleibt der Cache schreibfähig.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/router-neustart-richtig/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-router-neustart-richtig.png</image:loc>
      <image:title>Router neu starten: richtig und wann sinnvoll · Daniele Michelin</image:title>
      <image:caption>Internet hängt oder WLAN spinnt? So starten Sie den Router richtig neu, prüfen mit ping, ob es half, und erkennen, wann ein Neustart nichts bringt.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/rsync-code-23-partial-transfer/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-rsync-code-23-partial-transfer.png</image:loc>
      <image:title>rsync: Fehler code 23 (some files not transferred) · Daniele Michelin</image:title>
      <image:caption>rsync endet mit code 23, wenn einzelne Dateien nicht übertragen wurden: Rechte, Änderungen während des Laufs oder Attribute. Der Exitcode allein sagt wenig.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/saml-clock-skew-notbefore-timestamp-not-yet-valid/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-saml-clock-skew.png</image:loc>
      <image:title>SAML: NotBefore / Clock Skew – Zeitfehler beheben · Daniele Michelin</image:title>
      <image:caption>SAML-Fehler „Could not validate timestamp: not yet valid“ oder NotBefore/NotOnOrAfter: Uhren von IdP und SP weichen ab. Prüfen und per NTP beheben.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/saml-invalid-audience-for-this-response/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-saml-invalid-audience.png</image:loc>
      <image:title>SAML: Invalid audience for this Response – Lösung · Daniele Michelin</image:title>
      <image:caption>SAML-Login scheitert mit Invalid audience for this Response. Die Entity ID im IdP passt nicht zu der des Service Providers. Beide Werte vergleichen und angleichen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/smart-tv-chromecast-verbindet-nicht/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-smart-tv-chromecast-verbindet-nicht.png</image:loc>
      <image:title>Smart-TV oder Chromecast verbindet nicht: Ursachen · Daniele Michelin</image:title>
      <image:caption>Casting klappt nicht, der Fernseher oder Chromecast fehlt in der App? Gleiches Netz, Gastnetz, 2,4 GHz und Router-Einstellungen Schritt für Schritt prüfen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/smtp-421-4-7-0/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-smtp-421-470.png</image:loc>
      <image:title>SMTP 421 4.7.0: Rate limited – Ursachen &amp; Lösung · Daniele Michelin</image:title>
      <image:caption>SMTP 421 4.7.0 heißt: Der Empfänger drosselt Ihre IP vorübergehend. Typische Ursachen wie fehlender PTR oder Spam-Welle, Diagnose und Lösung.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/smtp-450-4-1-8-sender-address-rejected-domain-not-found/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-postfix-sender-domain-not-found.png</image:loc>
      <image:title>SMTP: 450 4.1.8 Absenderdomain nicht gefunden · Daniele Michelin</image:title>
      <image:caption>Postfix lehnt mit 450 4.1.8 Sender address rejected: Domain not found ab. Die Absenderdomain hat keinen A- oder MX-Eintrag. DNS prüfen, Absender korrigieren.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/smtp-451-4-7-1-greylisting/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-smtp-451-471-greylisting.png</image:loc>
      <image:title>SMTP 451 4.7.1 Greylisting: Ursachen &amp; Lösung · Daniele Michelin</image:title>
      <image:caption>SMTP 451 4.7.1 „Greylisted“ ist eine absichtliche Verzögerung. Wann es normal ist, wann Mails hängen bleiben und wie Sie Postgrey oder Rspamd anpassen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/smtp-530-5-7-0-must-issue-starttls/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-smtp-530-570-starttls.png</image:loc>
      <image:title>SMTP 530 5.7.0: Must issue STARTTLS – Lösung · Daniele Michelin</image:title>
      <image:caption>SMTP 530 5.7.0: Der Server verlangt STARTTLS vor Anmeldung oder Versand. Ursachen, Prüfung mit openssl und die richtige Client-Einstellung.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/smtp-535-5-7-8-authentication-failed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-smtp-535-578.png</image:loc>
      <image:title>SMTP 535 5.7.8: Authentication failed beheben · Daniele Michelin</image:title>
      <image:caption>SMTP 535 5.7.8 heißt: Die SMTP-Anmeldung wurde abgelehnt. Typische Ursachen bei Postfix/Dovecot, Gmail und Microsoft 365 und wie Sie sie prüfen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/smtp-550-5-1-1-user-unknown/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-smtp-550-511-user-unknown.png</image:loc>
      <image:title>SMTP 550 5.1.1: User unknown – Ursache &amp; Lösung · Daniele Michelin</image:title>
      <image:caption>SMTP 550 5.1.1 bedeutet: Die Empfängeradresse existiert auf dem Zielserver nicht. Tippfehler, Postfach-Maps und Domain-Klasse in Postfix prüfen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/smtp-550-5-4-1-recipient-address-rejected-access-denied/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-exchange-online-550-541-access-denied.png</image:loc>
      <image:title>SMTP: 550 5.4.1 Recipient address rejected – Lösung · Daniele Michelin</image:title>
      <image:caption>Microsoft 365 weist mit 550 5.4.1 Recipient address rejected: Access denied ab. Empfänger existiert im Tenant nicht oder Domaintyp falsch. Prüfung und Lösung.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/smtp-550-5-7-1/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-smtp-550-571.png</image:loc>
      <image:title>SMTP 550 5.7.1: Relay access denied – Ursache &amp; Lösung</image:title>
      <image:caption>SMTP 550 5.7.1 heißt: Der Mailserver verweigert Relaying oder lehnt per Richtlinie ab. Ursachen, Prüfung mit postconf und konkrete Lösungen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/smtp-550-5-7-26/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-smtp-550-5726.png</image:loc>
      <image:title>SMTP 550 5.7.26 / 5.7.23: DMARC &amp; SPF bei Gmail · Daniele Michelin</image:title>
      <image:caption>Gmail lehnt mit 550 5.7.26 oder 5.7.23 ab? SPF, DKIM oder DMARC-Alignment passen nicht. So prüfen Sie die DNS-Einträge und beheben den Fehler.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/smtp-552-5-2-2-mailbox-full/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-smtp-552-522-mailbox-full.png</image:loc>
      <image:title>SMTP 552 5.2.2: Postfach voll – Quota beheben · Daniele Michelin</image:title>
      <image:caption>SMTP 552 5.2.2 heißt: Das Postfach des Empfängers hat sein Speicherlimit erreicht. So prüfen Sie die Dovecot-Quota und schaffen dauerhaft Platz.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/smtp-553-5-7-1-sender-address-rejected/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-smtp-553-571-sender-rejected.png</image:loc>
      <image:title>SMTP 553 5.7.1: Sender address rejected beheben · Daniele Michelin</image:title>
      <image:caption>SMTP 553 5.7.1 heißt: Der angemeldete Benutzer darf mit dieser Absenderadresse nicht senden. So prüfen Sie smtpd_sender_login_maps und richten Send-As ein.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/smtp-554-5-7-1/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-smtp-554-571.png</image:loc>
      <image:title>SMTP 554 5.7.1: Blocklist-Ablehnung beheben · Daniele Michelin</image:title>
      <image:caption>SMTP 554 5.7.1 mit „blocked using“: Ihre IP steht auf einer Blocklist wie Spamhaus. So finden Sie die Ursache, stoppen Spam und beantragen Delisting.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/smtp-554-5-7-1-relay-access-denied/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-postfix-relay-access-denied.png</image:loc>
      <image:title>SMTP: 554 5.7.1 Relay access denied – Lösung · Daniele Michelin</image:title>
      <image:caption>Postfix antwortet 554 5.7.1 Relay access denied: Absender nicht angemeldet oder Empfängerdomain hier nicht eingerichtet. Regeln prüfen, ohne offenes Relay.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/smtp-port-25-gesperrt/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-smtp-port-25-gesperrt.png</image:loc>
      <image:title>Port 25 gesperrt: kein Mailversand möglich · Daniele Michelin</image:title>
      <image:caption>Viele Provider und Clouds sperren ausgehend Port 25. Mails bleiben in der Queue, Timeouts häufen sich. Abhilfe sind Submission mit Auth oder ein Relay.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/speedtest-zu-langsam/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-speedtest-zu-langsam.png</image:loc>
      <image:title>Speedtest zeigt weniger als im Vertrag – Ursachen · Daniele Michelin</image:title>
      <image:caption>Der Speedtest liegt unter dem Vertragswert? Vertrag und Praxis sind verschieden. So testen Sie per Kabel, prüfen mit ping und finden die Bremse im WLAN.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/ssh-connect-to-host-port-22-connection-timed-out/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-ssh-connection-timed-out.png</image:loc>
      <image:title>SSH Port 22: Connection timed out – Ursachen · Daniele Michelin</image:title>
      <image:caption>ssh: connect to host port 22: Connection timed out. Firewall, falsche Adresse, Server aus oder fail2ban? So erkennst und behebst du es, timeout vs. refused.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/ssh-connection-refused-port-22/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-ssh-connection-refused.png</image:loc>
      <image:title>SSH: connect to host port 22 refused · Daniele Michelin</image:title>
      <image:caption>SSH Connection refused heißt: Auf dem Port nimmt kein sshd Verbindungen an. Meist läuft der Dienst nicht, lauscht auf einem anderen Port oder wird abgelehnt.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/ssh-permission-denied-publickey/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-ssh-permission-denied-publickey.png</image:loc>
      <image:title>SSH: Permission denied (publickey) beheben · Daniele Michelin</image:title>
      <image:caption>SSH meldet „Permission denied (publickey)“: falscher Benutzer, Schlüssel fehlt in authorized_keys, falsche Rechte oder ssh-rsa abgeschaltet.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/ssh-remote-host-identification-has-changed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-ssh-host-key-changed.png</image:loc>
      <image:title>SSH-Warnung: Remote host identification changed · Daniele Michelin</image:title>
      <image:caption>SSH warnt REMOTE HOST IDENTIFICATION HAS CHANGED. Meist ein Neuaufbau des Servers. So prüfst du den Schlüssel und korrigierst known_hosts sicher.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/ssh-too-many-authentication-failures/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-ssh-too-many-authentication-failures.png</image:loc>
      <image:title>SSH: Too many authentication failures – Lösung · Daniele Michelin</image:title>
      <image:caption>SSH trennt mit Too many authentication failures, bevor du ein Passwort tippst. Der Agent bietet zu viele Schlüssel an. IdentitiesOnly nutzen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/ssl-certificate-has-expired/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-tls-certificate-expired.png</image:loc>
      <image:title>SSL: certificate has expired – Lösung · Daniele Michelin</image:title>
      <image:caption>„certificate has expired“ oder NET::ERR_CERT_DATE_INVALID: Erneuerung gescheitert, Dienst nicht neu geladen oder falsche Uhr. Prüfen und dauerhaft beheben.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/ssl-error-rx-record-too-long/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-tls-rx-record-too-long.png</image:loc>
      <image:title>SSL_ERROR_RX_RECORD_TOO_LONG: Ursache &amp; Lösung · Daniele Michelin</image:title>
      <image:caption>Firefox zeigt SSL_ERROR_RX_RECORD_TOO_LONG: Auf Port 443 antwortet der Server mit unverschlüsseltem HTTP. Meist fehlt „ssl“ in der listen-Zeile von nginx.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/ssl-unable-to-get-local-issuer-certificate/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-tls-unable-to-get-local-issuer.png</image:loc>
      <image:title>unable to get local issuer certificate: Lösung · Daniele Michelin</image:title>
      <image:caption>„SSL certificate problem: unable to get local issuer certificate“ bei curl, Python oder Git: fehlende Zwischenzertifikate, CA-Bundle oder TLS-Inspection.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/sudo-user-is-not-in-the-sudoers-file/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-sudo-not-in-sudoers.png</image:loc>
      <image:title>sudo: Benutzer nicht in der sudoers-Datei · Daniele Michelin</image:title>
      <image:caption>sudo meldet „is not in the sudoers file. This incident will be reported.“ Dem Benutzer fehlt die sudo-Gruppe oder eine Regel. Prüfen und ergänzen: usermod, visudo.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/systemd-job-failed-control-process-exited-with-error-code/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-systemd-job-failed-control-process.png</image:loc>
      <image:title>systemd: Job failed – control process exited · Daniele Michelin</image:title>
      <image:caption>„Job for X.service failed because the control process exited with error code“: So finden Sie mit systemctl status und journalctl die echte Fehlermeldung.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/systemd-start-request-repeated-too-quickly/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-systemd-start-limit-hit.png</image:loc>
      <image:title>systemd: Start-Limit erreicht (start-limit-hit) · Daniele Michelin</image:title>
      <image:caption>systemd: Start request repeated too quickly, start-limit-hit. Eine Absturzschleife hat das Limit erreicht. Ursache finden und die Unit zurücksetzen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/tar-unexpected-end-of-file/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-tar-unexpected-end-of-file.png</image:loc>
      <image:title>tar: unexpected end of file beim Entpacken · Daniele Michelin</image:title>
      <image:caption>„unexpected end of file“ heißt: Das Archiv ist unvollständig – abgebrochener Download, voller Datenträger oder Abbruch beim Erstellen. So rettest du den Rest.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/temporary-failure-in-name-resolution/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-linux-temporary-failure-name-resolution.png</image:loc>
      <image:title>Temporary failure in name resolution – Lösung · Daniele Michelin</image:title>
      <image:caption>ping, apt oder curl melden Temporary failure in name resolution. Der Server erreicht keinen DNS-Resolver: leere resolv.conf, resolved down oder Port 53 blockiert.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/tls-err-ssl-version-or-cipher-mismatch/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-tls-version-cipher-mismatch.png</image:loc>
      <image:title>ERR_SSL_VERSION_OR_CIPHER_MISMATCH – Lösung · Daniele Michelin</image:title>
      <image:caption>ERR_SSL_VERSION_OR_CIPHER_MISMATCH: keine gemeinsame TLS-Version oder Cipher. ssl_protocols, ssl_ciphers und Zertifikat des Virtual Hosts prüfen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/wlan-bricht-ab/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-wlan-bricht-ab.png</image:loc>
      <image:title>WLAN bricht ab: Verbindung fällt immer wieder aus · Daniele Michelin</image:title>
      <image:caption>Das WLAN trennt sich ständig oder fällt kurz aus? Einfache Ursachen wie Funkstörung, Energiesparmodus und Router-Last und eine Prüfung mit echten Befehlen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/wlan-kanal-wechseln-24-5-ghz/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-wlan-kanal-wechseln.png</image:loc>
      <image:title>WLAN-Kanal wechseln: 2,4 oder 5 GHz wählen · Daniele Michelin</image:title>
      <image:caption>Welches WLAN-Band und welcher Kanal passt? Erklärung 2,4 und 5 GHz, Kanäle 1, 6, 11, Prüfung der Nachbarnetze mit echten Befehlen und Wechsel im Router.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/wlan-langsam/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-wlan-langsam.png</image:loc>
      <image:title>WLAN langsam: Ursachen und Prüfung zu Hause · Daniele Michelin</image:title>
      <image:caption>Das WLAN ist langsam, obwohl es verbunden ist? Einfache Prüfung von Entfernung, Interferenzen und Router mit echten Befehlen und typische Lösungen für zu Hause.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/wlan-repeater-oder-mesh/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-wlan-repeater-mesh.png</image:loc>
      <image:title>WLAN Repeater oder Mesh: was passt für zu Hause · Daniele Michelin</image:title>
      <image:caption>Funkloch im Haus: Repeater oder Mesh? Allgemeiner Vergleich, richtige Aufstellung, Prüfung des Empfangs mit echten Befehlen und wann ein Kabel die beste Lösung ist.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/wlan-verbunden-kein-internet/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-wlan-verbunden-kein-internet.png</image:loc>
      <image:title>WLAN verbunden, aber kein Internet: Prüfung · Daniele Michelin</image:title>
      <image:caption>WLAN steht, aber Webseiten laden nicht? Schritt für Schritt prüfen, ob Router, Internetleitung oder DNS die Ursache ist, mit echten Befehlen und einfachen Lösungen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/fehler/zwei-router-doppel-nat/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-e-mehrere-router-doppel-nat.png</image:loc>
      <image:title>Zwei Router im Heimnetz: Doppel-NAT erklärt · Daniele Michelin</image:title>
      <image:caption>Zwei Router hintereinander führen zu Doppel-NAT, Portfreigaben und Spiele-Verbindungen scheitern. So erkennen und beheben Sie das Problem.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/a-aaaa-eintrag/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-a-aaaa.png</image:loc>
      <image:title>Was ist ein A-/AAAA-Eintrag? DNS erklärt · Daniele Michelin</image:title>
      <image:caption>Ein A-Eintrag verknüpft einen Hostnamen mit einer IPv4-Adresse, AAAA mit IPv6. Aufbau, Prüfung mit dig und typische Fehler bei Dual-Stack.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/acme/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-acme.png</image:loc>
      <image:title>Was ist ACME? Automatische TLS-Zertifikate · Daniele Michelin</image:title>
      <image:caption>ACME ist das Protokoll, mit dem Let&#x27;s Encrypt und andere CAs Zertifikate automatisch ausstellen. HTTP-01, DNS-01, Clients wie certbot und typische Fehler.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/autoritativer-nameserver/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-authoritative.png</image:loc>
      <image:title>Was ist ein autoritativer Nameserver? · Daniele Michelin</image:title>
      <image:caption>Ein autoritativer Nameserver hält die Originaldaten einer DNS-Zone und liefert verbindliche Antworten. Abgrenzung zum Resolver und Prüfung mit dig.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/bounce-ndr/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-ndr.png</image:loc>
      <image:title>Was ist ein Bounce (NDR)? Fehlermails lesen · Daniele Michelin</image:title>
      <image:caption>Ein Bounce oder NDR meldet, dass eine Mail nicht zugestellt wurde. Status-Codes lesen, Hard- und Soft-Bounce unterscheiden, Backscatter vermeiden.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/caa-eintrag/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-caa.png</image:loc>
      <image:title>Was ist ein CAA-Eintrag? Zertifikate absichern · Daniele Michelin</image:title>
      <image:caption>Ein CAA-Eintrag legt fest, welche Zertifizierungsstellen Zertifikate für eine Domain ausstellen dürfen. Syntax, Beispiel und Fehler bei Let&#x27;s Encrypt.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/caldav-carddav/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-caldav-carddav.png</image:loc>
      <image:title>Was sind CalDAV und CardDAV? Sync erklärt · Daniele Michelin</image:title>
      <image:caption>CalDAV synchronisiert Kalender, CardDAV Kontakte, beide auf Basis von WebDAV. Einrichtung mit Nextcloud, iOS, Android und Thunderbird und typische Fehler.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/cname-eintrag/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-cname.png</image:loc>
      <image:title>Was ist ein CNAME-Eintrag? Alias im DNS · Daniele Michelin</image:title>
      <image:caption>Ein CNAME-Eintrag macht einen Namen zum Alias eines anderen. Wann er sinnvoll ist, warum er nicht am Zonen-Apex stehen darf und typische Fehler.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/content-security-policy/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-csp.png</image:loc>
      <image:title>Was ist eine Content Security Policy (CSP)? · Daniele Michelin</image:title>
      <image:caption>Die Content Security Policy legt fest, aus welchen Quellen eine Seite Skripte, Styles und Frames laden darf. Aufbau, Report-Only-Modus und typische Fehler.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/cron/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-cron.png</image:loc>
      <image:title>Was ist ein Cronjob? Cron unter Linux erklärt · Daniele Michelin</image:title>
      <image:caption>Cron führt Befehle unter Linux zeitgesteuert aus. Aufbau einer Crontab-Zeile, Unterschied zu systemd-Timern und warum Cronjobs still scheitern.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/dkim/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-dkim.png</image:loc>
      <image:title>Was ist DKIM? E-Mail-Signaturen erklärt · Daniele Michelin</image:title>
      <image:caption>DKIM signiert ausgehende E-Mails kryptografisch, der öffentliche Schlüssel liegt im DNS. Funktionsweise, Selector und häufige Gründe für dkim=fail.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/dmarc/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-dmarc.png</image:loc>
      <image:title>Was ist DMARC? Richtlinie und Reports erklärt · Daniele Michelin</image:title>
      <image:caption>DMARC verknüpft SPF und DKIM mit der sichtbaren Absenderadresse und legt fest, was mit Fälschungen passiert. Alignment, Policies und Reports.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/dns-propagation/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-propagation.png</image:loc>
      <image:title>Was ist DNS-Propagation? Wie lange dauert sie? · Daniele Michelin</image:title>
      <image:caption>DNS-Propagation ist die Zeit, bis alle Resolver eine geänderte DNS-Antwort sehen. Warum das von der TTL abhängt und wie Sie den Stand prüfen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/dns-resolver/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-resolver.png</image:loc>
      <image:title>Was ist ein DNS-Resolver? Rekursion erklärt · Daniele Michelin</image:title>
      <image:caption>Ein DNS-Resolver beantwortet Anfragen von Clients, indem er die Kette von Root bis zur Zone abfragt und das Ergebnis cacht. Funktion und Diagnose.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/dnssec/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-dnssec.png</image:loc>
      <image:title>Was ist DNSSEC? Signierte DNS-Antworten · Daniele Michelin</image:title>
      <image:caption>DNSSEC signiert DNS-Einträge kryptografisch, damit Resolver Fälschungen erkennen. Funktionsweise, DS-Eintrag und warum Fehler zum Totalausfall führen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/eskalation/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-escalation.png</image:loc>
      <image:title>Was ist eine Eskalation im IT-Support? · Daniele Michelin</image:title>
      <image:caption>Eine Eskalation übergibt ein Ticket an eine höhere Support-Ebene oder informiert das Management. Funktionale und hierarchische Eskalation, gute Übergaben.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/file-deskriptor/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-file-descriptor.png</image:loc>
      <image:title>Was ist ein File-Deskriptor? Limits erklärt · Daniele Michelin</image:title>
      <image:caption>Ein File-Deskriptor ist die Nummer, über die ein Prozess offene Dateien und Sockets anspricht. Woher Too many open files kommt und wie Sie Limits anheben.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/glue-record/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-glue.png</image:loc>
      <image:title>Was ist ein Glue-Record? DNS-Delegation · Daniele Michelin</image:title>
      <image:caption>Glue-Records sind IP-Adressen von Nameservern, die in der übergeordneten Zone stehen. Wann Sie sie brauchen und wie fehlende Glue-Records auffallen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/greylisting/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-greylisting.png</image:loc>
      <image:title>Was ist Greylisting? Spamschutz mit Verzögerung · Daniele Michelin</image:title>
      <image:caption>Greylisting lehnt Mails unbekannter Absender zunächst vorübergehend ab und nimmt sie beim zweiten Versuch an. Wirkung, Nachteile und typische Fehler.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/hsts/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-hsts.png</image:loc>
      <image:title>Was ist HSTS? HTTP Strict Transport Security · Daniele Michelin</image:title>
      <image:caption>HSTS weist Browser an, eine Domain nur noch per HTTPS aufzurufen. Header-Syntax, max-age, includeSubDomains, Preload und das Risiko beim Zurückrollen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/http-statuscode/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-http-status.png</image:loc>
      <image:title>Was ist ein HTTP-Statuscode? Klassen erklärt · Daniele Michelin</image:title>
      <image:caption>HTTP-Statuscodes zeigen, wie ein Server eine Anfrage beantwortet hat. Die fünf Klassen, wichtige Codes wie 301, 403, 502 und wie Sie sie richtig lesen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/identity-provider/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-idp.png</image:loc>
      <image:title>Was ist ein Identity Provider (IdP)? · Daniele Michelin</image:title>
      <image:caption>Ein Identity Provider verwaltet Benutzerkonten und bestätigt Anwendungen per SAML oder OIDC, wer angemeldet ist. Beispiele, Aufgaben und Ausfallrisiken.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/imap/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-imap.png</image:loc>
      <image:title>Was ist IMAP? Postfach-Zugriff erklärt · Daniele Michelin</image:title>
      <image:caption>IMAP ist das Protokoll, mit dem Mailprogramme auf ein Postfach auf dem Server zugreifen. Unterschied zu POP3, Ports 143 und 993 und typische Probleme.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-hub-glossary.png</image:loc>
      <image:title>IT-Glossar für Admins: DNS, Mail, TLS, SSO · Daniele Michelin</image:title>
      <image:caption>Begriffe aus DNS, E-Mail, TLS, Single Sign-on und Linux-Betrieb kurz und praxisnah erklärt — mit Beispielen und Befehlen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/inode/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-inode.png</image:loc>
      <image:title>Was ist ein Inode? Linux-Dateisystem erklärt · Daniele Michelin</image:title>
      <image:caption>Ein Inode speichert die Metadaten einer Datei im Linux-Dateisystem. Warum ein Datenträger trotz freiem Platz voll sein kann und wie Sie das prüfen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/journald/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-journald.png</image:loc>
      <image:title>Was ist journald? Logs unter systemd lesen · Daniele Michelin</image:title>
      <image:caption>journald sammelt unter systemd die Logs aller Dienste in einem binären Journal. Wichtige journalctl-Befehle, Speicherlimit und dauerhafte Speicherung.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/json-web-token/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-jwt.png</image:loc>
      <image:title>Was ist ein JWT? JSON Web Token erklärt · Daniele Michelin</image:title>
      <image:caption>Ein JWT ist ein signiertes Token aus Header, Payload und Signatur, genutzt bei OIDC und APIs. Aufbau, Prüfung, Ablaufzeit und typische Sicherheitsfehler.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/logrotate/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-logrotate.png</image:loc>
      <image:title>Was ist logrotate? Logdateien rotieren · Daniele Michelin</image:title>
      <image:caption>logrotate rotiert, komprimiert und löscht alte Logdateien automatisch. Aufbau einer Konfiguration, copytruncate gegen postrotate und typische Fehler.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/mta-mail-transfer-agent/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-mta.png</image:loc>
      <image:title>Was ist ein MTA? Mail Transfer Agent erklärt · Daniele Michelin</image:title>
      <image:caption>Ein MTA nimmt E-Mails per SMTP an und stellt sie an den nächsten Server zu, etwa Postfix oder Exim. Abgrenzung zu MUA und MDA und die Rolle der Queue.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/mta-sts/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-mta-sts.png</image:loc>
      <image:title>Was ist MTA-STS? TLS-Pflicht für Mailserver · Daniele Michelin</image:title>
      <image:caption>MTA-STS zwingt sendende Mailserver zu verschlüsselter Zustellung mit gültigem Zertifikat. Aufbau aus TXT-Eintrag und Policy-Datei, Modi und Fehler.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/multi-faktor-authentifizierung/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-mfa.png</image:loc>
      <image:title>Was ist MFA? Multi-Faktor-Authentifizierung · Daniele Michelin</image:title>
      <image:caption>MFA verlangt bei der Anmeldung neben dem Passwort einen zweiten Faktor wie App-Code, Push oder Sicherheitsschlüssel. Verfahren, Schwächen, Support.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/mx-eintrag/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-mx.png</image:loc>
      <image:title>Was ist ein MX-Eintrag? Mail-Routing im DNS · Daniele Michelin</image:title>
      <image:caption>Der MX-Eintrag legt fest, welcher Server E-Mails für eine Domain annimmt. Priorität, Prüfung mit dig und die häufigsten Fehler bei der Umstellung.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/nextcloud/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-nextcloud.png</image:loc>
      <image:title>Was ist Nextcloud? Aufbau für Admins erklärt · Daniele Michelin</image:title>
      <image:caption>Nextcloud ist eine selbst gehostete Plattform für Dateien, Kalender, Kontakte und Zusammenarbeit. Aufbau aus PHP, Datenbank, Cache und Speicher, Betrieb.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/ns-eintrag/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-ns.png</image:loc>
      <image:title>Was ist ein NS-Eintrag? Delegation im DNS · Daniele Michelin</image:title>
      <image:caption>NS-Einträge legen fest, welche Nameserver für eine Zone zuständig sind. Delegation bei der Registry, Prüfung mit dig und Fehler beim Anbieterwechsel.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/nxdomain/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-nxdomain.png</image:loc>
      <image:title>Was bedeutet NXDOMAIN? DNS-Fehler erklärt · Daniele Michelin</image:title>
      <image:caption>NXDOMAIN heißt: Den abgefragten Namen gibt es im DNS nicht. Unterschied zu NOERROR ohne Daten und SERVFAIL, Ursachen und Diagnose mit dig.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/oauth-2-0/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-oauth2.png</image:loc>
      <image:title>Was ist OAuth 2.0? Autorisierung erklärt · Daniele Michelin</image:title>
      <image:caption>OAuth 2.0 erlaubt Anwendungen Zugriff auf Ressourcen, ohne das Passwort des Nutzers zu kennen. Rollen, Access- und Refresh-Token und gängige Flows.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/oom-killer/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-oom-killer.png</image:loc>
      <image:title>Was ist der OOM-Killer? Speichermangel erklärt · Daniele Michelin</image:title>
      <image:caption>Der OOM-Killer beendet unter Linux Prozesse, wenn der Arbeitsspeicher ausgeht. Wie er sein Opfer wählt, wie Sie ihn im Log finden und was dagegen hilft.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/openid-connect/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-oidc.png</image:loc>
      <image:title>Was ist OpenID Connect (OIDC)? Erklärt · Daniele Michelin</image:title>
      <image:caption>OpenID Connect ergänzt OAuth 2.0 um Anmeldung und Identität. ID-Token, Discovery-Dokument, Client-ID und Redirect-URI und typische Fehler beim Einrichten.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/php-fpm/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-php-fpm.png</image:loc>
      <image:title>Was ist PHP-FPM? Pools und Tuning erklärt · Daniele Michelin</image:title>
      <image:caption>PHP-FPM führt PHP-Code in einem eigenen Prozesspool aus, den nginx oder Apache per FastCGI anspricht. Pool-Einstellungen, pm.max_children und Fehler.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/ptr-eintrag/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-ptr.png</image:loc>
      <image:title>Was ist ein PTR-Eintrag? Reverse DNS erklärt · Daniele Michelin</image:title>
      <image:caption>Ein PTR-Eintrag löst eine IP-Adresse zurück in einen Hostnamen auf. Warum Mailserver ihn brauchen, wer ihn setzt und wie Sie ihn mit dig prüfen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/relay-open-relay/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-open-relay.png</image:loc>
      <image:title>Was ist ein Mail-Relay? Open Relay erklärt · Daniele Michelin</image:title>
      <image:caption>Ein Relay leitet E-Mails an fremde Domains weiter. Wann das gewollt ist, was ein Open Relay gefährlich macht und woher Relay access denied kommt.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/reverse-proxy/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-reverse-proxy.png</image:loc>
      <image:title>Was ist ein Reverse Proxy? Aufgaben erklärt · Daniele Michelin</image:title>
      <image:caption>Ein Reverse Proxy nimmt Anfragen entgegen und leitet sie an Backend-Server weiter, etwa nginx vor Nextcloud. Aufgaben, Header und typische Fehler.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/root-cause-analysis/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-rca.png</image:loc>
      <image:title>Was ist eine Root Cause Analysis (RCA)? · Daniele Michelin</image:title>
      <image:caption>Eine Root Cause Analysis sucht nach einer Störung die eigentliche Ursache statt nur des Symptoms. Ablauf, 5-Why-Methode und guter Bericht.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/rpo-rto/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-rpo-rto.png</image:loc>
      <image:title>Was sind RPO und RTO? Ziele für Wiederherstellung · Daniele Michelin</image:title>
      <image:caption>RPO legt fest, wie viel Datenverlust tragbar ist, RTO, wie schnell ein System wieder laufen muss. Beispiele, Abhängigkeiten und warum Restore-Tests zählen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/s3-object-storage/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-s3.png</image:loc>
      <image:title>Was ist S3 Object Storage? Bucket erklärt · Daniele Michelin</image:title>
      <image:caption>S3 Object Storage speichert Daten als Objekte in Buckets und wird per HTTP-API angesprochen. Unterschied zum Dateisystem, Einsatz mit Nextcloud, Fehler.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/saml/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-saml.png</image:loc>
      <image:title>Was ist SAML? SSO-Protokoll erklärt · Daniele Michelin</image:title>
      <image:caption>SAML 2.0 ist ein XML-basiertes Protokoll für Single Sign-on zwischen Identity Provider und Anwendung. Ablauf, Metadaten, Zertifikate und typische Fehler.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/scim/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-scim.png</image:loc>
      <image:title>Was ist SCIM? Benutzer-Provisioning erklärt · Daniele Michelin</image:title>
      <image:caption>SCIM synchronisiert Benutzer und Gruppen automatisch vom Identity Provider in Anwendungen. Unterschied zu SSO, Ablauf und typische Stolpersteine.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/server-name-indication/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-sni.png</image:loc>
      <image:title>Was ist SNI? Server Name Indication erklärt · Daniele Michelin</image:title>
      <image:caption>SNI teilt dem Server beim TLS-Handshake mit, welcher Hostname gemeint ist, damit mehrere HTTPS-Sites eine IP teilen. Funktion und typische Fehlerbilder.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/service-level-agreement/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-sla.png</image:loc>
      <image:title>Was ist ein SLA? Service Level Agreement · Daniele Michelin</image:title>
      <image:caption>Ein SLA legt messbare Leistungen wie Reaktionszeit, Lösungszeit und Verfügbarkeit fest. Begriffe, was 99,9 % wirklich bedeuten und typische Fallstricke.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/service-provider/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-sp.png</image:loc>
      <image:title>Was ist ein Service Provider (SP) bei SSO? · Daniele Michelin</image:title>
      <image:caption>Im SSO ist der Service Provider die Anwendung, die dem Identity Provider vertraut, etwa Nextcloud mit SAML. Entity-ID, ACS-URL und typische Fehler.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/single-sign-on/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-sso.png</image:loc>
      <image:title>Was ist Single Sign-on (SSO)? Kurz erklärt · Daniele Michelin</image:title>
      <image:caption>Mit SSO melden sich Nutzer einmal beim Identity Provider an und erreichen damit mehrere Anwendungen. Protokolle, Vorteile und typische Stolpersteine.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/smtp/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-smtp.png</image:loc>
      <image:title>Was ist SMTP? Mailversand einfach erklärt · Daniele Michelin</image:title>
      <image:caption>SMTP ist das Protokoll, mit dem Mailserver E-Mails untereinander zustellen. Ablauf einer Sitzung, Ports 25, 587 und 465 und typische Fehlercodes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/snapshot-vs-backup/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-snapshot-backup.png</image:loc>
      <image:title>Snapshot oder Backup? Der Unterschied · Daniele Michelin</image:title>
      <image:caption>Ein Snapshot friert den Zustand eines Datenträgers ein, ein Backup ist eine unabhängige Kopie an anderem Ort. Warum Snapshots allein kein Backup sind.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/soa-eintrag/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-soa.png</image:loc>
      <image:title>Was ist ein SOA-Eintrag? Felder erklärt · Daniele Michelin</image:title>
      <image:caption>Der SOA-Eintrag steht am Anfang jeder DNS-Zone. Was Serial, Refresh, Retry, Expire und Minimum bedeuten und warum die Seriennummer wichtig ist.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/spf/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-spf.png</image:loc>
      <image:title>Was ist SPF? Sender Policy Framework erklärt · Daniele Michelin</image:title>
      <image:caption>SPF legt per TXT-Eintrag fest, welche Server Mails für eine Domain senden dürfen. Syntax, die Grenze von 10 DNS-Lookups und typische Fehler.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/srv-eintrag/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-srv.png</image:loc>
      <image:title>Was ist ein SRV-Eintrag? Dienste im DNS finden · Daniele Michelin</image:title>
      <image:caption>Ein SRV-Eintrag nennt Host und Port eines Dienstes, etwa für Autodiscover, CalDAV, SIP oder XMPP. Aufbau der Felder, Beispiel und Prüfung mit dig.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/starttls/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-starttls.png</image:loc>
      <image:title>Was ist STARTTLS? Verschlüsselung nachrüsten · Daniele Michelin</image:title>
      <image:caption>STARTTLS schaltet eine unverschlüsselte SMTP-, IMAP- oder POP3-Verbindung auf TLS um. Ablauf, Unterschied zu implizitem TLS und typische Schwächen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/subject-alternative-name/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-san.png</image:loc>
      <image:title>Was ist ein SAN? Subject Alternative Name · Daniele Michelin</image:title>
      <image:caption>Der Subject Alternative Name listet alle Hostnamen, für die ein TLS-Zertifikat gilt. Warum der Common Name nicht mehr zählt und wie Sie SANs prüfen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/submission-port-587/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-submission.png</image:loc>
      <image:title>Was ist Submission? Port 587 vs. 25 und 465 · Daniele Michelin</image:title>
      <image:caption>Submission ist der SMTP-Dienst für den Versand durch Mailprogramme und Anwendungen. Unterschied zu Port 25 und 465 und warum Anmeldung Pflicht ist.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/support-level-1st-2nd-3rd/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-support-levels.png</image:loc>
      <image:title>1st, 2nd, 3rd Level Support: Unterschiede · Daniele Michelin</image:title>
      <image:caption>Die Support-Level teilen Anfragen nach Komplexität auf: Annahme und Standardfälle, technische Analyse, Entwicklung und Hersteller. Aufgaben und Übergaben.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/systemd-unit/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-systemd-unit.png</image:loc>
      <image:title>Was ist eine systemd-Unit? Aufbau erklärt · Daniele Michelin</image:title>
      <image:caption>Eine systemd-Unit beschreibt einen Dienst, Timer oder Mount, den systemd verwaltet. Aufbau der Unit-Datei, Overrides und wie Sie Startfehler finden.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/tls/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-tls.png</image:loc>
      <image:title>Was ist TLS? Transport Layer Security erklärt · Daniele Michelin</image:title>
      <image:caption>TLS verschlüsselt Verbindungen wie HTTPS, IMAPS und SMTP und prüft per Zertifikat die Identität des Servers. Handshake, Versionen und typische Fehler.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/ttl/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-ttl.png</image:loc>
      <image:title>Was ist die TTL im DNS? Time to Live erklärt · Daniele Michelin</image:title>
      <image:caption>Die TTL legt fest, wie lange Resolver einen DNS-Eintrag zwischenspeichern. Sinnvolle Werte, TTL vor einer Migration senken und typische Irrtümer.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/txt-eintrag/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-txt.png</image:loc>
      <image:title>Was ist ein TXT-Eintrag? Einsatz und Grenzen · Daniele Michelin</image:title>
      <image:caption>TXT-Einträge speichern freien Text im DNS und tragen SPF, DKIM, DMARC und Domain-Verifizierungen. Aufbau, 255-Zeichen-Grenze und häufige Fehler.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/webdav/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-webdav.png</image:loc>
      <image:title>Was ist WebDAV? Dateizugriff über HTTP · Daniele Michelin</image:title>
      <image:caption>WebDAV erweitert HTTP um Methoden zum Lesen, Schreiben und Verwalten von Dateien auf einem Server. Einsatz bei Nextcloud, Clients und typische Fehler.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/glossar/zertifikatskette/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-g-cert-chain.png</image:loc>
      <image:title>Was ist eine Zertifikatskette? Intermediate · Daniele Michelin</image:title>
      <image:caption>Die Zertifikatskette verbindet Ihr Serverzertifikat über Zwischenzertifikate mit einer vertrauenswürdigen Root-CA. Warum fullchain wichtig ist.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/blog/analisi-causa-radice-supporto/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/analisi-causa-radice-supporto.png</image:loc>
      <image:title>Analisi della causa nel supporto: sintomo ≠ causa</image:title>
      <image:caption>Un workaround chiude il ticket, solo l&#x27;analisi della causa evita il prossimo. Come nel supporto di 2° e 3° livello si passa dal sintomo alla causa vera.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/blog/assistente-ai-per-il-proprio-sito/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/assistente-ai-per-il-proprio-sito.png</image:loc>
      <image:title>Un assistente AI per il proprio sito: chat e voce, ospitato in casa</image:title>
      <image:caption>Come un receptionist AI locale è diventato l&#x27;assistente del mio sito: widget, proxy nginx, voce sul Mac, prenotazioni e privacy.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/blog/classifica-falsificazione-email-102-domini/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/classifica-falsificazione-email-102-domini.png</image:loc>
      <image:title>Questi domini si possono falsificare? SPF e DMARC di 102 siti</image:title>
      <image:caption>SPF, DMARC e MTA-STS di 102 domini noti: 59 rifiutano la posta falsificata, 21 osservano soltanto con p=none, 6 non hanno DMARC. Banche, Germania e Italia.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/blog/controllare-nextcloud-dallesterno/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/controllare-nextcloud-dallesterno.png</image:loc>
      <image:title>Controllare Nextcloud dall&#x27;esterno: versione, EOL, percorsi esposti</image:title>
      <image:caption>Uno strumento che valuta la tua Nextcloud dalla rete vera: versione, end of life, percorsi esposti (config, data, .htaccess) e header di sicurezza. Senza login.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/blog/halloween-mostro-dei-token-immagine-video/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/halloween-mostro-dei-token-immagine-video.png</image:loc>
      <image:title>Halloween: il mostro dei token preferisce i video</image:title>
      <image:caption>Un&#x27;immagine di Halloween o un breve video AI? Un esempio concreto: 1.120 contro 28.960 token di output. E perché il rapporto non racconta tutta la spesa.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/blog/header-di-sicurezza-set-base/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/header-di-sicurezza-set-base.png</image:loc>
      <image:title>Header di sicurezza HTTP: set base per nginx</image:title>
      <image:caption>HSTS, CSP, X-Content-Type-Options, Referrer-Policy, Permissions-Policy: cosa fa ogni header di sicurezza, un set base nginx da copiare e come testarlo.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/blog/header-sicurezza-57-siti/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/header-sicurezza-57-siti.png</image:loc>
      <image:title>Abbiamo valutato gli header di sicurezza di 57 grandi siti</image:title>
      <image:caption>Controllo di 57 siti noti: HSTS è diffuso, la CSP no. Risultati per header, i quattro siti con voto A e come leggere i numeri in modo corretto.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/blog/migrazione-dns-senza-downtime/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/migrazione-dns-senza-downtime.png</image:loc>
      <image:title>Migrazione DNS senza downtime: TTL, export zona, checklist</image:title>
      <image:caption>Cambiare hosting o provider DNS senza perdere sito ed e-mail: abbassa il TTL, esporta la zona invece di ricopiarla, testa prima dello switch — con checklist.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/blog/n8n-cartolina-orbita/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-cartolina-orbita.png</image:loc>
      <image:title>Vetrina n8n: una cartolina dall&#x27;orbita</image:title>
      <image:caption>Premi un pulsante, ricevi una cartolina: n8n trova la ISS, scarica l&#x27;immagine NASA del punto sotto e un&#x27;AI scrive il testo. Con il workflow da scaricare.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/blog/n8n-citta-del-sito/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-citta-del-sito.png</image:loc>
      <image:title>Il tuo sito come città: un workflow n8n</image:title>
      <image:caption>Inserisci un dominio ed esplora la città in 3D: le sezioni diventano quartieri, le sottopagine grattacieli, gli header torri di guardia.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/blog/n8n-controllo-missione/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-controllo-missione.png</image:loc>
      <image:title>Mission Control: un gioco n8n di risposta agli incidenti</image:title>
      <image:caption>Gioca tre decisioni in 90 secondi su una vulnerabilità CISA realmente sfruttata. Scopri come ho costruito Mission Control e scarica il workflow n8n.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/blog/n8n-dna-del-sito/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-dna-del-sito.png</image:loc>
      <image:title>DNA del sito: trovare codice di terzi con n8n</image:title>
      <image:caption>Inserisci un dominio e guarda la doppia elica: codice proprio, terze parti, librerie con CVE note e cookie. Workflow n8n con OSV.dev e AI.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/blog/n8n-galassia-link/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-galassia-link.png</image:loc>
      <image:title>Galassia dei link: i link interni in 3D</image:title>
      <image:caption>Inserisci un dominio, ruota la galassia: link rotti come buchi neri, pagine orfane come pianeti. Workflow n8n con crawler, AI e download.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/blog/n8n-nextcloud-mattina-ufficio/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-nextcloud-mattina-ufficio.png</image:loc>
      <image:title>Mattina in ufficio: n8n scrive in Nextcloud</image:title>
      <image:caption>Un clic: n8n legge calendario, Deck, file e Talk di un ufficio demo in Nextcloud, un&#x27;AI scrive il briefing e n8n crea tutto davvero.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/blog/n8n-oracolo-dati/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-oracolo-dati.png</image:loc>
      <image:title>Just for fun: un oracolo n8n fatto di dati live</image:title>
      <image:caption>Un workflow n8n per gioco: tre fonti di dati live in parallelo, la fase lunare in un nodo Code, un&#x27;AI indovina e carte dei tarocchi da condividere. Con download.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/blog/n8n-orchestra-terra/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-orchestra-terra.png</image:loc>
      <image:title>Orchestra Terra: terremoti e Sole diventano musica con n8n</image:title>
      <image:caption>Orchestra Terra trasforma terremoti USGS e indice Kp NOAA in note e animazioni. Prova la demo, scopri le regole musicali e scarica il workflow n8n.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/blog/n8n-presentato-polso-di-internet/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-presentato-polso-di-internet.png</image:loc>
      <image:title>n8n presentato: un workflow che misura il polso di Internet</image:title>
      <image:caption>Cos&#x27;è n8n, perché lo ospito da me e un workflow d&#x27;esempio: 7 fonti, un&#x27;AI, una pagina live che si aggiorna con un clic. Con il file da scaricare e importare.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/blog/n8n-settimana-21-radar-aurore/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-settimana-21-radar-aurore.png</image:loc>
      <image:title>n8n #21: radar aurore con indice Kp NOAA</image:title>
      <image:caption>Leggi ogni 15 minuti l&#x27;indice Kp della NOAA e invia un push solo quando cresce l&#x27;attività geomagnetica. Senza chiave API né allarmi doppi.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/blog/n8n-talk-show-ai/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/n8n-talk-show-ai.png</image:loc>
      <image:title>Il talk show AI: 5 AI parlano del tuo sito</image:title>
      <image:caption>Hacker, guru SEO, designer, nonna Erna e un cliente impaziente parlano del tuo sito. Cinque AI in parallelo in n8n, con fallback e consigli.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/blog/nextcloud-collabora-code-falla-cve-2026-110447/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/nextcloud-collabora-code-falla-cve-2026-110447.png</image:loc>
      <image:title>Nextcloud CODE, falla CVE-2026-110447: verifica, aggiorna, rimuovi</image:title>
      <image:caption>CVE-2026-110447 permette di eseguire comandi sui server Nextcloud con l&#x27;app CODE di Collabora. Come verificare, aggiornare o rimuovere l&#x27;app e cercare web shell.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/blog/nextcloud-file-non-visibili-files-scan/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/nextcloud-file-non-visibili-files-scan.png</image:loc>
      <image:title>Nextcloud non mostra i file copiati: occ files:scan</image:title>
      <image:caption>File copiati direttamente nella cartella dati di Nextcloud ma l&#x27;interfaccia web resta vuota? Perché succede e come risolvere con occ files:scan.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/blog/nextcloud-saml-oidc-errori/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/nextcloud-saml-oidc-errori.png</image:loc>
      <image:title>SSO Nextcloud non funziona? 8 errori SAML/OIDC risolti</image:title>
      <image:caption>Loop di redirect, orologi sfasati, UID sbagliato, account doppi, gruppi mancanti: 8 errori SAML/OIDC dal supporto Nextcloud — con causa e soluzione.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/blog/nginx-vulnerabilita-ottobre-2026/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/nginx-vulnerabilita-ottobre-2026.png</image:loc>
      <image:title>NGINX: tre falle critiche, aggiorna a 1.30.6 / 1.31.7</image:title>
      <image:caption>Correzione NGINX in 1.30.6 e 1.31.7 (Plus 37.1.0.1, 37.0.5.1): quali configurazioni sono colpite, come verificarle e aggiornare i container.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/blog/nota-operativa-linux-no-space-left/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/nota-operativa-linux-no-space-left.png</image:loc>
      <image:title>Nota operativa: No space left on device con spazio libero: soluzione</image:title>
      <image:caption>Nota operativa: No space left on device ma df mostra spazio libero? Di solito sono finiti gli inode o ci sono file cancellati ancora aperti. Diagnosi con…</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/blog/nota-operativa-nextcloud-423-locked/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/nota-operativa-nextcloud-423-locked.png</image:loc>
      <image:title>Nota operativa: Nextcloud &quot;file is locked&quot; (423 Locked): soluzione</image:title>
      <image:caption>Nota operativa: Nextcloud dice is locked o 423 Locked? Lock dei file rimasti appesi. Come controllare il locking su Redis e il cron e togliere i lock…</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/blog/pagella-sicurezza-sito/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/pagella-sicurezza-sito.png</image:loc>
      <image:title>Una pagella per la sicurezza del tuo sito</image:title>
      <image:caption>Inserisci un dominio e ricevi una pagella: voti per header di sicurezza, SPF/DMARC e certificato TLS, un voto finale e il giudizio del prof. Gratis.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/blog/php-aggiornamento-urgente-php2shell/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/php-aggiornamento-urgente-php2shell.png</image:loc>
      <image:title>Patch PHP2Shell: Plesk, Synology, hosting e server</image:title>
      <image:caption>Due falle critiche in PHP, corrette in 8.5.12, 8.4.27, 8.3.36 e 8.2.35: cosa fare su Plesk, Synology, hosting condiviso, Docker e server propri.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/blog/php2shell-soluzione-temporanea-php-ini/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/php2shell-soluzione-temporanea-php-ini.png</image:loc>
      <image:title>PHP2Shell su Synology senza aggiornamento: php.ini</image:title>
      <image:caption>Ancora nessun aggiornamento PHP su Synology? Tre impostazioni php.ini riducono la superficie d&#x27;attacco di PHP2Shell — per Web Station, Plesk e server.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/blog/php2shell-una-settimana-dopo-falla-kernel/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/php2shell-una-settimana-dopo-falla-kernel.png</image:loc>
      <image:title>PHP2Shell dopo una settimana: attacchi e falla kernel</image:title>
      <image:caption>PHP2Shell è sfruttata ed è nella lista CISA. Una falla del kernel Linux (CVE-2026-46300) la trasforma in root. I fatti nei grafici e cosa controllare oggi.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/blog/radar-truffe-avvisi-phishing-attuali/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/radar-truffe-avvisi-phishing-attuali.png</image:loc>
      <image:title>Radar truffe: riconosci phishing e SMS falsi del momento</image:title>
      <image:caption>Il mio nuovo radar truffe raccoglie le truffe del momento, le spiega in parole semplici e dice cosa fare. Come funziona e come riconoscere una truffa.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/cheat-sheet/comandi-dig/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-c-dig.png</image:loc>
      <image:title>Comandi dig – Cheat Sheet per il DNS · Daniele Michelin</image:title>
      <image:caption>Comandi dig per la diagnosi DNS: A, MX, TXT, CAA, +short, +trace, reverse lookup, DNSSEC, verifica SPF/DKIM/DMARC e query ai nameserver autoritativi.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/cheat-sheet/comandi-docker/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-c-docker.png</image:loc>
      <image:title>Comandi Docker – Cheat Sheet per admin · Daniele Michelin</image:title>
      <image:caption>I comandi Docker essenziali: immagini, container, log, exec, volumi, reti, Compose, pulizia con prune e limiti di risorse per admin.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/cheat-sheet/comandi-git/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-c-git.png</image:loc>
      <image:title>Comandi Git – Cheat Sheet per uso e recupero · Daniele Michelin</image:title>
      <image:caption>I comandi Git essenziali: status, log, stash, rebase, recupero con reflog, varianti di undo, remote e bisect per l&#x27;uso quotidiano.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/cheat-sheet/comandi-journalctl/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-c-journalctl.png</image:loc>
      <image:title>Comandi journalctl – Cheat Sheet per Linux · Daniele Michelin</image:title>
      <image:caption>Comandi journalctl per il troubleshooting: filtra i log per unit, boot, orario e priorità, seguili live, output JSON e limita lo spazio del journal.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/cheat-sheet/comandi-nginx/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-c-nginx.png</image:loc>
      <image:title>Comandi nginx – Cheat Sheet per admin · Daniele Michelin</image:title>
      <image:caption>I comandi nginx essenziali per admin: test e reload, log, redirect, proxy_pass, rate limiting, gzip e debug in produzione.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/cheat-sheet/comandi-occ-nextcloud/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-c-occ.png</image:loc>
      <image:title>Comandi occ di Nextcloud – Cheat Sheet per admin · Daniele Michelin</image:title>
      <image:caption>I comandi occ di Nextcloud essenziali per admin: modalità manutenzione, files:scan, utenti, app, indici DB mancanti, cron, cestino e 2FA.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/cheat-sheet/comandi-openssl/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-c-openssl.png</image:loc>
      <image:title>Comandi OpenSSL – Cheat Sheet TLS e certificati · Daniele Michelin</image:title>
      <image:caption>Comandi OpenSSL per la diagnosi TLS: verifica catena e scadenza, crea una CSR, confronta chiave e certificato, converti PEM/DER/PFX, testa STARTTLS.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/cheat-sheet/comandi-systemctl/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-c-systemctl.png</image:loc>
      <image:title>Comandi systemctl – Cheat Sheet systemd · Daniele Michelin</image:title>
      <image:caption>I comandi systemctl essenziali: stato, start, restart, enable, timer, override drop-in, systemd-analyze e target per admin Linux.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/cheat-sheet/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-hub-cheats.png</image:loc>
      <image:title>Cheat sheet per admin: nginx, Docker, Git, systemd e altri</image:title>
      <image:caption>Riferimenti di comandi consultabili per Nextcloud occ, dig, journalctl, openssl, nginx, systemctl, Docker e Git — con pulsante copia e avvisi sui comandi rischiosi.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/confronto/differenza-spf-dkim-dmarc/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-v-spf-dkim-dmarc.png</image:loc>
      <image:title>SPF vs DKIM vs DMARC: tabella di confronto · Daniele Michelin</image:title>
      <image:caption>Cosa controllano SPF, DKIM e DMARC, dove falliscono e perché ti servono tutti e tre. Con allineamento, inoltri ed errori tipici visti sul campo.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/confronto/http-01-vs-dns-01/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-v-http-01-vs-dns-01.png</image:loc>
      <image:title>Let&#x27;s Encrypt: challenge HTTP-01 o DNS-01 · Daniele Michelin</image:title>
      <image:caption>Challenge HTTP-01 o DNS-01 per Let&#x27;s Encrypt? Wildcard, host interni, porta 80, accesso API al DNS ed errori tipici di validazione a confronto.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/confronto/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-hub-compare.png</image:loc>
      <image:title>Confronti tecnici per admin: SAML, Nextcloud, DNS · Daniele Michelin</image:title>
      <image:caption>Confronti onesti dal lavoro quotidiano: SAML o OIDC, Nextcloud o Seafile, HTTP-01 o DNS-01, cron o timer systemd — quando scegliere cosa.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/confronto/nextcloud-aio-vs-installazione-manuale/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-v-nextcloud-aio-vs-manual.png</image:loc>
      <image:title>Nextcloud AIO vs installazione manuale · Daniele Michelin</image:title>
      <image:caption>Nextcloud All-in-One o setup classico con web server, PHP-FPM e database? Impegno, controllo, aggiornamenti, backup e debug confrontati con onestà.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/confronto/nextcloud-s3-vs-nfs/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-v-s3-vs-nfs-nextcloud.png</image:loc>
      <image:title>Nextcloud: S3 vs NFS come storage primario · Daniele Michelin</image:title>
      <image:caption>Object storage S3 o NFS/block storage come storage primario di Nextcloud? Formato dei dati, scalabilità, backup, migrazione e trappole viste in produzione.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/confronto/nextcloud-vs-seafile/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-v-nextcloud-vs-seafile.png</image:loc>
      <image:title>Nextcloud vs Seafile: confronto · Daniele Michelin</image:title>
      <image:caption>Nextcloud o Seafile in self-hosting? Formato di archiviazione, sync, funzioni, aggiornamenti e backup a confronto, dal punto di vista di chi lo gestisce.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/confronto/nginx-vs-apache-php-fpm/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-v-nginx-vs-apache-php.png</image:loc>
      <image:title>nginx vs Apache per app PHP · Daniele Michelin</image:title>
      <image:caption>nginx o Apache davanti a PHP-FPM? .htaccess, configurazione, limiti di upload, timeout e debug per Nextcloud, WordPress e altre app PHP a confronto.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/confronto/saml-vs-oidc/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-v-saml-vs-oidc.png</image:loc>
      <image:title>SAML vs OIDC: quale scegliere e quando · Daniele Michelin</image:title>
      <image:caption>SAML o OpenID Connect per il single sign-on? Differenze su protocollo, client, certificati e debug, dall&#x27;esperienza con Nextcloud e Keycloak.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/confronto/systemd-timer-vs-cron/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-v-systemd-timer-vs-cron.png</image:loc>
      <image:title>Timer systemd vs cron: confronto · Daniele Michelin</image:title>
      <image:caption>Timer systemd o cron per i job pianificati? Log, esecuzioni perse, sovrapposizioni, ambiente e impegno a confronto, con esempi dal lavoro quotidiano.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/demo/opscope/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/projects/opscope-demo-it.png</image:loc>
      <image:title>OPSCOPE demo live: diagnostica server Linux · Daniele Michelin</image:title>
      <image:caption>Registrazione di OPSCOPE, il mio toolkit Bash in sola lettura per server Linux: un incidente simulato dalla diagnosi al report.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/apt-could-not-get-lock-dpkg-lock-frontend/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-apt-dpkg-lock.png</image:loc>
      <image:title>apt: errore lock dpkg lock-frontend, soluzione · Daniele Michelin</image:title>
      <image:caption>apt segnala Could not get lock /var/lib/dpkg/lock-frontend. Di solito è in corso unattended-upgrades. Come aspettare e ripristinare in sicurezza.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/apt-e-unable-to-locate-package/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-apt-unable-to-locate-package.png</image:loc>
      <image:title>apt: E: Unable to locate package – soluzione · Daniele Michelin</image:title>
      <image:caption>apt install si ferma con E: Unable to locate package. Liste pacchetti vecchie, nome errato, componente mancante o release a fine vita. Controlli e soluzioni.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/apt-nopubkey-signature/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-apt-nopubkey-signature.png</image:loc>
      <image:title>apt: NO_PUBKEY – firma non verificabile · Daniele Michelin</image:title>
      <image:caption>apt segnala NO_PUBKEY quando manca o è scaduta la chiave di firma di un repository. Ecco come recuperare la chiave giusta senza ignorare l&#x27;avviso.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/bash-argument-list-too-long/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-bash-argument-list-too-long.png</image:loc>
      <image:title>bash: Argument list too long (rm, cp, mv) – soluzione</image:title>
      <image:caption>rm, cp o mv falliscono con Argument list too long. La shell ha espanso * in più file di quanti il kernel ne consenta. Usa find con -delete o -exec, o xargs.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/cambiare-canale-wifi-2-4-5-ghz/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-wlan-kanal-wechseln.png</image:loc>
      <image:title>Cambiare canale Wi-Fi: scegliere 2,4 o 5 GHz · Daniele Michelin</image:title>
      <image:caption>Quale banda e quale canale Wi-Fi scegliere? Spiega 2,4 e 5 GHz, canali 1, 6, 11, controllo delle reti vicine con comandi reali e cambio nel router.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/cambiare-server-dns/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-dns-server-wechseln.png</image:loc>
      <image:title>Cambiare server DNS sul router o sul PC · Daniele Michelin</image:title>
      <image:caption>Le pagine non si aprono ma ping 8.8.8.8 funziona? Indica un problema DNS. Testa con nslookup e cambia il server DNS, con un avviso sulla privacy.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/certbot-failed-to-renew-certificate-renewals-failed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-certbot-failed-to-renew-certificate.png</image:loc>
      <image:title>certbot: rinnovo del certificato non riuscito · Daniele Michelin</image:title>
      <image:caption>certbot renew stampa Failed to renew certificate e il certificato scade. Authenticator cambiato, porta 80 occupata, timer assente o hook rotto. Dry-run e soluzione.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/certbot-timeout-during-connect-firewall/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-certbot-timeout-during-connect.png</image:loc>
      <image:title>Certbot: timeout during connect, firewall · Daniele Michelin</image:title>
      <image:caption>Let&#x27;s Encrypt fallisce con Timeout during connect (likely firewall problem). Porta 80 bloccata, IP errato o IPv6 non raggiungibile. Controlli e soluzione.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/configurare-rete-ospiti-wifi/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-gastnetz-einrichten.png</image:loc>
      <image:title>Rete ospiti Wi-Fi: come configurarla e perché · Daniele Michelin</image:title>
      <image:caption>A cosa serve il Wi-Fi ospiti, come attivarlo nel router e perché stampante, TV e NAS non si vedono da lì. Con comandi di verifica.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/cron-job-non-parte/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-cron-job-laeuft-nicht.png</image:loc>
      <image:title>Cronjob non parte: cause e verifiche · Daniele Michelin</image:title>
      <image:caption>Un cronjob non parte anche se è in crontab: di solito è colpa di PATH, ambiente, permessi o un errore di sintassi. Ecco come trovarlo in pochi minuti.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/curl-6-could-not-resolve-host/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-curl-6-could-not-resolve-host.png</image:loc>
      <image:title>curl: (6) Could not resolve host – soluzione · Daniele Michelin</image:title>
      <image:caption>curl fallisce con (6) Could not resolve host. Nessun record DNS, un refuso, un problema del resolver o cache vecchia. Chiarisci con dig e getent prima di cambiare.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/dig-connection-timed-out-no-servers-could-be-reached/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-dns-no-servers-could-be-reached.png</image:loc>
      <image:title>dig: no servers could be reached (timeout) · Daniele Michelin</image:title>
      <image:caption>dig o nslookup stampano connection timed out; no servers could be reached. Server DNS spento, irraggiungibile o porta 53 filtrata. Trova il tratto che fallisce.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/dkim-fail-body-hash-did-not-verify/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-dkim-body-hash-did-not-verify.png</image:loc>
      <image:title>DKIM: body hash did not verify – soluzione · Daniele Michelin</image:title>
      <image:caption>dkim=fail (body hash did not verify): il corpo è cambiato dopo la firma. Trova footer, filtro o gateway che modifica la posta e firma per ultimo.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/dmarc-unauthenticated-email-not-accepted-dmarc-policy/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-dmarc-policy-rejected.png</image:loc>
      <image:title>DMARC: email rifiutata per policy DMARC · Daniele Michelin</image:title>
      <image:caption>550 5.7.1 Unauthenticated email is not accepted due to DMARC policy. Allinea SPF e DKIM, controlla gli inoltri e porta p=reject in sicurezza.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/dns-cname-at-zone-apex-not-allowed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-dns-cname-apex.png</image:loc>
      <image:title>DNS: CNAME sull&#x27;apex non consentito, soluzione · Daniele Michelin</image:title>
      <image:caption>Errore “CNAME and other data” o “CNAME at apex not allowed”: il dominio principale non può avere un CNAME. Perché, e quali alternative funzionano davvero.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/dns-nxdomain-dns-probe-finished-nxdomain/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-dns-nxdomain.png</image:loc>
      <image:title>DNS NXDOMAIN / DNS_PROBE_FINISHED_NXDOMAIN: fix · Daniele Michelin</image:title>
      <image:caption>NXDOMAIN o DNS_PROBE_FINISHED_NXDOMAIN significa che per il DNS il nome non esiste. Trova refuso, record mancante, delega errata o cache negativa.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/dns-servfail-dnssec/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-dns-servfail.png</image:loc>
      <image:title>DNS SERVFAIL: trovare la causa (DNSSEC e altro) · Daniele Michelin</image:title>
      <image:caption>dig restituisce SERVFAIL anche se la zona sembra giusta? Spesso è DNSSEC rotto, ad es. un DS vecchio dopo il cambio provider. Come trovarlo e risolvere.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/dns-status-refused-query-refused/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-dns-query-refused.png</image:loc>
      <image:title>DNS: status REFUSED – cause e soluzione · Daniele Michelin</image:title>
      <image:caption>dig mostra status: REFUSED. Un name server non risponde: la zona non è lì, la ricorsione non è consentita a te o una ACL ti blocca. Controlli e soluzioni.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/docker-permission-denied-docker-sock/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-docker-sock-permission-denied.png</image:loc>
      <image:title>Docker: permission denied su docker.sock · Daniele Michelin</image:title>
      <image:caption>Docker segnala permission denied nel connettersi al socket del demone. Aggiungi l&#x27;utente al gruppo docker, riaccedi e conosci il costo in sicurezza.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/docker-port-already-allocated/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-docker-port-already-allocated.png</image:loc>
      <image:title>Docker: porta già allocata (Bind failed) · Daniele Michelin</image:title>
      <image:caption>“port is already allocated” significa che un altro container o un processo dell&#x27;host occupa la porta. Ecco come trovare il proprietario e risolvere.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/dovecot-imap-login-disconnected-auth-failed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-dovecot-auth-failed.png</image:loc>
      <image:title>Dovecot: Disconnected (auth failed), soluzione · Daniele Michelin</image:title>
      <image:caption>Dovecot scrive “imap-login: Disconnected (auth failed)”? Come distinguere password errata, errore di configurazione e brute force e risolvere la causa.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/dovecot-mailbox-open-failed-permission-denied/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-dovecot-mailbox-permission-denied.png</image:loc>
      <image:title>Dovecot: permission denied sulla casella · Daniele Michelin</image:title>
      <image:caption>Dovecot registra open() failed: Permission denied su casella o Maildir. Proprietario o mail_location errati dopo una migrazione. Soluzioni.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/dpkg-was-interrupted-configure-a/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-dpkg-was-interrupted.png</image:loc>
      <image:title>dpkg was interrupted: configure -a – soluzione · Daniele Michelin</image:title>
      <image:caption>apt si ferma con “dpkg was interrupted, you must manually run dpkg --configure -a”. Un aggiornamento interrotto o uno script fallito. Controlli e riparazione sicura.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/due-router-doppio-nat/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-mehrere-router-doppel-nat.png</image:loc>
      <image:title>Due router in casa: il doppio NAT spiegato · Daniele Michelin</image:title>
      <image:caption>Due router in cascata causano il doppio NAT e il port forwarding o le connessioni di gioco falliscono. Come riconoscere e risolvere il problema.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/err-too-many-redirects-redirect-loop/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-http-too-many-redirects.png</image:loc>
      <image:title>ERR_TOO_MANY_REDIRECTS: troppi reindirizzamenti · Daniele Michelin</image:title>
      <image:caption>Il browser mostra ERR_TOO_MANY_REDIRECTS: ti ha reindirizzato troppe volte. Loop tra http e https, www, CDN o applicazione. Come trovarlo e interromperlo.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/fritzbox-niente-internet/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-fritzbox-internet-weg.png</image:loc>
      <image:title>FRITZ!Box senza internet: controllo in 5 passi · Daniele Michelin</image:title>
      <image:caption>Niente internet sulla FRITZ!Box? Controlla spie, riavvio, cavi e DNS in cinque passi e scopri quando conviene chiamare il provider.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/fritzbox-non-raggiungibile/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-fritzbox-nicht-erreichbar.png</image:loc>
      <image:title>fritz.box non si apre: cause e soluzione · Daniele Michelin</image:title>
      <image:caption>fritz.box non si apre? Controlla connessione, indirizzo 192.168.178.1, DNS e browser passo dopo passo con comandi semplici e trova la causa.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/fritzbox-password-dimenticata/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-fritzbox-passwort-vergessen.png</image:loc>
      <image:title>Password FRITZ!Box dimenticata: come rientrare · Daniele Michelin</image:title>
      <image:caption>Hai dimenticato la password della FRITZ!Box? Trova quella standard sull&#x27;etichetta, controlla che sia raggiungibile e rientra nelle impostazioni. Passi semplici.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/fritzbox-password-wifi-trovare-cambiare/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-fritzbox-wlan-passwort.png</image:loc>
      <image:title>Password Wi-Fi FRITZ!Box: trovarla o cambiarla · Daniele Michelin</image:title>
      <image:caption>Password Wi-Fi della FRITZ!Box dimenticata? Trovala sull&#x27;etichetta, nell&#x27;interfaccia o sul computer e cambiala in sicurezza. Con indicazioni sui menu.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/fritzbox-ripristino-di-fabbrica/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-fritzbox-werkseinstellungen.png</image:loc>
      <image:title>Ripristino FRITZ!Box: cosa si perde davvero · Daniele Michelin</image:title>
      <image:caption>Ripristino della FRITZ!Box alle impostazioni di fabbrica: quando serve, cosa si perde e come salvare prima un backup delle impostazioni. Per chi usa la rete a casa.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/http-400-request-header-or-cookie-too-large/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-http-400-header-too-large.png</image:loc>
      <image:title>400 Request Header Or Cookie Too Large: soluzione · Daniele Michelin</image:title>
      <image:caption>nginx risponde 400 “Request Header Or Cookie Too Large”: cookie o token troppi o troppo grandi. Cause, test con curl e dimensioni sicure dei buffer.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/http-403-forbidden-nginx/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-http-403.png</image:loc>
      <image:title>HTTP 403 Forbidden su nginx: cause e soluzione · Daniele Michelin</image:title>
      <image:caption>HTTP 403 Forbidden su nginx: file index mancante, permessi, regole deny o SELinux. Come trovare la causa esatta nell&#x27;error.log e risolverla.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/http-404-not-found-nginx/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-http-404-nginx.png</image:loc>
      <image:title>nginx: 404 Not Found su pagine esistenti · Daniele Michelin</image:title>
      <image:caption>nginx restituisce 404 Not Found anche se la pagina dovrebbe esistere. root o alias errato, try_files mancante, server block sbagliato. Controlli e fix.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/http-413-request-entity-too-large/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-http-413.png</image:loc>
      <image:title>HTTP 413 Request Entity Too Large: fix per nginx · Daniele Michelin</image:title>
      <image:caption>413 Request Entity Too Large: nginx o un proxy a monte blocca gli upload grandi. Come impostare bene client_max_body_size e i limiti PHP.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/http-429-too-many-requests/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-http-429.png</image:loc>
      <image:title>HTTP 429 Too Many Requests: cause e soluzione · Daniele Michelin</image:title>
      <image:caption>HTTP 429 Too Many Requests significa che è scattato un rate limit. Trova quale livello ti limita (nginx, WAF, CDN, API) e regola o rispetta il limite.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/http-500-internal-server-error-php/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-http-500.png</image:loc>
      <image:title>HTTP 500 Internal Server Error: trovare la causa · Daniele Michelin</image:title>
      <image:caption>HTTP 500 Internal Server Error è solo il sintomo. Come trovare la causa nei log di nginx e PHP: fatal error, limite di memoria, permessi, loop di rewrite.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/http-502-bad-gateway/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-http-502.png</image:loc>
      <image:title>HTTP 502 Bad Gateway (nginx, PHP-FPM): soluzione · Daniele Michelin</image:title>
      <image:caption>502 Bad Gateway su nginx: il backend (PHP-FPM, Node, Gunicorn) non risponde. Cause tipiche, cosa cercare nell&#x27;error.log e soluzioni rapide.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/http-503-service-unavailable-nginx/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-http-503.png</image:loc>
      <image:title>HTTP 503 Service Unavailable: cause e soluzione · Daniele Michelin</image:title>
      <image:caption>HTTP 503 Service Unavailable con nginx: rate limit, maintenance mode, backend sovraccarico o load balancer senza server sani. Come trovare la fonte.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/http-504-gateway-timeout/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-http-504.png</image:loc>
      <image:title>HTTP 504 Gateway Timeout (nginx): cause e soluzione · Daniele Michelin</image:title>
      <image:caption>504 Gateway Timeout su nginx: il backend ci mette troppo. Come trovare script lenti, pool PHP-FPM saturo e timeout sbagliati, e come risolvere.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/http-521-522-origin-error-cdn/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-http-521-522-origin.png</image:loc>
      <image:title>HTTP 521 / 522: il CDN non raggiunge l&#x27;origin · Daniele Michelin</image:title>
      <image:caption>Una pagina del CDN mostra 521 Web server is down o 522 Connection timed out. L&#x27;edge non raggiunge il tuo origin: firewall, IP errato, servizio fermo. Fix.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-hub-errors.png</image:loc>
      <image:title>Lessico dei codici d&#x27;errore: SMTP, HTTP, Nextcloud · Daniele Michelin</image:title>
      <image:caption>Messaggi d&#x27;errore frequenti di mail, web server, Nextcloud, DNS e SSO: cosa significano, come verificarli e come risolverli — con i comandi.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/letsencrypt-acme-error-unauthorized/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-acme-unauthorized.png</image:loc>
      <image:title>Let&#x27;s Encrypt acme:error:unauthorized: soluzione · Daniele Michelin</image:title>
      <image:caption>certbot dà urn:ietf:params:acme:error:unauthorized? La challenge HTTP-01 fallisce, spesso per un record AAAA o un redirect. Diagnosi e soluzione.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/letsencrypt-too-many-certificates-already-issued/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-letsencrypt-too-many-certificates.png</image:loc>
      <image:title>Let&#x27;s Encrypt too many certificates: limite · Daniele Michelin</image:title>
      <image:caption>Let&#x27;s Encrypt dice “too many certificates already issued”? Quale rate limit scatta, come attendere lo sblocco e come evitare in futuro i loop di emissione.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/linux-no-space-left-on-device/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-linux-no-space-left.png</image:loc>
      <image:title>No space left on device con spazio libero: soluzione</image:title>
      <image:caption>No space left on device ma df mostra spazio libero? Di solito sono finiti gli inode o ci sono file cancellati ancora aperti. Diagnosi con df -i e lsof +L1.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/linux-out-of-memory-killed-process-oom-killer/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-linux-oom-killer.png</image:loc>
      <image:title>Linux OOM killer: out of memory, processo ucciso · Daniele Michelin</image:title>
      <image:caption>“Out of memory: Killed process” nel log del kernel: l&#x27;OOM killer ha terminato un processo. Trova il colpevole, limita la memoria ed evita che si ripeta.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/linux-read-only-file-system/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-linux-read-only-file-system.png</image:loc>
      <image:title>Linux: read-only file system, cause e soluzione · Daniele Michelin</image:title>
      <image:caption>“Read-only file system” su Linux: errori del filesystem con remount-ro, disco guasto, mount ro o ProtectSystem di systemd. Diagnosi sicura e soluzione.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/linux-too-many-open-files/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-linux-too-many-open-files.png</image:loc>
      <image:title>Linux: too many open files (EMFILE), soluzione · Daniele Michelin</image:title>
      <image:caption>“Too many open files” (errore 24) in nginx, Java o Node: raggiunto il limite per processo. Verifica corretta, LimitNOFILE in systemd e ricerca dei leak.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/mariadb-table-is-marked-as-crashed-and-should-be-repaired/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-mariadb-table-marked-as-crashed.png</image:loc>
      <image:title>MariaDB: Table is marked as crashed – soluzione · Daniele Michelin</image:title>
      <image:caption>MariaDB o MySQL segnala Table is marked as crashed and should be repaired (errore 1194 o 145). Di solito MyISAM o Aria dopo un crash. Prima backup, poi REPAIR TABLE.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/mixed-content-blocked-insecure-resource/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-http-mixed-content.png</image:loc>
      <image:title>Mixed Content: risorsa non sicura bloccata · Daniele Michelin</image:title>
      <image:caption>La console del browser segnala Mixed Content: pagina caricata in HTTPS ma richiesta una risorsa non sicura, e la blocca. Trova gli URL http:// e correggili.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/mount-wrong-fs-type-bad-option-bad-superblock/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-mount-wrong-fs-type-bad-superblock.png</image:loc>
      <image:title>mount: wrong fs type, bad superblock – soluzione · Daniele Michelin</image:title>
      <image:caption>mount fallisce con wrong fs type, bad option, bad superblock. Helper mancante, tipo errato, nessun filesystem o danno. Prima controlli sicuri, poi si interviene.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/mysql-1045-access-denied/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-mysql-1045-access-denied.png</image:loc>
      <image:title>MySQL errore 1045: Access denied for user · Daniele Michelin</image:title>
      <image:caption>MySQL / MariaDB ERROR 1045 Access denied for user. Password errata, host sbagliato o plugin unix_socket di root. Controlli e soluzione in pochi minuti.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/mysql-1064-syntax-error/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-mysql-1064-syntax-error.png</image:loc>
      <image:title>MariaDB/MySQL: errore 1064 di sintassi · Daniele Michelin</image:title>
      <image:caption>L&#x27;errore 1064 significa che il server non riesce a interpretare la query. Di solito è una parola riservata, una differenza di versione o un apice.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/mysql-1067-invalid-default-value/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-mysql-1067-invalid-default-value.png</image:loc>
      <image:title>MySQL: errore 1067 Invalid default value · Daniele Michelin</image:title>
      <image:caption>L&#x27;errore 1067 indica che il valore di default di una colonna non è valido per il tipo o per il sql_mode attivo. Tipico con TIMESTAMP.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/mysql-2003-cant-connect-10061/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-mysql-2003-cant-connect-10061.png</image:loc>
      <image:title>MySQL: ERROR 2003 Can&#x27;t connect (10061) · Daniele Michelin</image:title>
      <image:caption>L&#x27;errore 2003 (HY000) con 10061 significa che sulla porta di destinazione nessuno accetta connessioni. Spesso il servizio è fermo o ascolta solo in locale.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/mysql-error-1040-too-many-connections/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-mysql-1040-too-many-connections.png</image:loc>
      <image:title>MySQL: ERROR 1040 Too many connections – soluzione · Daniele Michelin</image:title>
      <image:caption>MySQL o MariaDB rifiuta nuovi client con ERROR 1040 Too many connections. Trova app che perdono connessioni e query lente prima di alzare max_connections.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/mysql-error-2002-cant-connect-through-socket/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-mysql-2002-socket.png</image:loc>
      <image:title>MySQL errore 2002: connessione tramite socket · Daniele Michelin</image:title>
      <image:caption>MySQL / MariaDB ERROR 2002: Can&#x27;t connect to local server through socket. Server fermo, percorso del socket errato o disco pieno. Controlli e soluzioni.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/mysql-server-has-gone-away-2006/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-mysql-2006-server-has-gone-away.png</image:loc>
      <image:title>MySQL server has gone away (errore 2006) · Daniele Michelin</image:title>
      <image:caption>MySQL o MariaDB segnala MySQL server has gone away, errore 2006. Timeout di inattività, pacchetto oltre max_allowed_packet o crash del server. Controlli e soluzioni.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/net-err-cert-authority-invalid-self-signed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-tls-cert-authority-invalid.png</image:loc>
      <image:title>ERR_CERT_AUTHORITY_INVALID: autofirmato · Daniele Michelin</image:title>
      <image:caption>Il browser mostra NET::ERR_CERT_AUTHORITY_INVALID: certificato autofirmato, di una CA interna non attendibile o servito senza catena. Come verificare e risolvere.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/net-err-cert-common-name-invalid/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-tls-cert-common-name-invalid.png</image:loc>
      <image:title>ERR_CERT_COMMON_NAME_INVALID: cause e soluzione · Daniele Michelin</image:title>
      <image:caption>Chrome mostra NET::ERR_CERT_COMMON_NAME_INVALID: il nome host non è nel certificato. Controlla i SAN, trova il vhost sbagliato ed estendi il certificato.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/net-err-cert-date-invalid-clock-wrong/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-tls-cert-date-invalid.png</image:loc>
      <image:title>ERR_CERT_DATE_INVALID: orologio o validità · Daniele Michelin</image:title>
      <image:caption>NET::ERR_CERT_DATE_INVALID: certificato scaduto o non ancora valido per l&#x27;orologio in uso. Spesso l&#x27;orologio del dispositivo è sbagliato. Confronta le date.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/nextcloud-cannot-write-into-config-directory/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-nextcloud-config-not-writable.png</image:loc>
      <image:title>Nextcloud: impossibile scrivere in config · Daniele Michelin</image:title>
      <image:caption>Nextcloud segnala Cannot write into config directory. Proprietario errato dopo un ripristino, SELinux o config_is_read_only. Controlli e permessi.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/nextcloud-csrf-check-failed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-nextcloud-csrf-check-failed.png</image:loc>
      <image:title>Nextcloud “CSRF check failed”: soluzione · Daniele Michelin</image:title>
      <image:caption>Nextcloud dice “CSRF check failed” al login o al salvataggio? Di solito la sessione si perde: controlla cookie, proxy, sessioni e Redis.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/nextcloud-data-directory-readable-by-other-users/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-nextcloud-data-dir-readable.png</image:loc>
      <image:title>Nextcloud: data directory leggibile da altri · Daniele Michelin</image:title>
      <image:caption>Nextcloud dice “Your data directory is readable by other users”. Come impostare 0770 nel modo giusto, anche su mount NFS e CIFS, senza rompere l&#x27;accesso.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/nextcloud-database-is-missing-some-indexes/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-nextcloud-missing-indexes.png</image:loc>
      <image:title>Nextcloud: mancano indici nel database, soluzione · Daniele Michelin</image:title>
      <image:caption>Nextcloud dice “The database is missing some indexes”. Come aggiungere con occ indici, colonne e chiavi primarie in sicurezza.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/nextcloud-file-is-locked-423/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-nextcloud-423-locked.png</image:loc>
      <image:title>Nextcloud &quot;file is locked&quot; (423 Locked): soluzione · Daniele Michelin</image:title>
      <image:caption>Nextcloud dice is locked o 423 Locked? Lock dei file rimasti appesi. Come controllare il locking su Redis e il cron e togliere i lock vecchi senza rischi.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/nextcloud-internal-server-error-request-id/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-nextcloud-internal-server-error.png</image:loc>
      <image:title>Nextcloud Internal Server Error: trovare la causa · Daniele Michelin</image:title>
      <image:caption>Nextcloud mostra “Internal Server Error” con un Request ID? Come trovare la voce corrispondente in nextcloud.log e risolvere le cause più comuni.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/nextcloud-last-background-job-ran-ago-cron/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-nextcloud-cron-last-job.png</image:loc>
      <image:title>Nextcloud: last background job fermo, soluzione · Daniele Michelin</image:title>
      <image:caption>Nextcloud dice “Last background job execution ran … ago”? Controlla modalità cron, crontab di www-data ed errori di cron.php e risolvi in modo stabile.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/nextcloud-maintenance-mode-enabled/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-nextcloud-maintenance-mode.png</image:loc>
      <image:title>Nextcloud bloccato in maintenance mode: soluzione · Daniele Michelin</image:title>
      <image:caption>Nextcloud resta in maintenance mode, di solito dopo un aggiornamento interrotto? Come controllare lo stato con occ, chiudere l&#x27;upgrade e disattivarla.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/nextcloud-memcache-apcu-not-available-for-local-cache/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-nextcloud-memcache-apcu.png</image:loc>
      <image:title>Nextcloud: memcache APCu not available, soluzione · Daniele Michelin</image:title>
      <image:caption>Nextcloud mostra “Memcache APCu not available for local cache” con occ o cron: di solito manca apc.enable_cli=1 nel php.ini della CLI. Verifica e fix.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/nextcloud-redisexception-redis-went-away/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-nextcloud-redis-went-away.png</image:loc>
      <image:title>Nextcloud: Redis went away – cause e soluzione · Daniele Michelin</image:title>
      <image:caption>Nextcloud registra RedisException: Redis went away e le pagine si bloccano o danno 500. Redis fermo, socket o permessi errati, o RAM esaurita. Controlli e soluzione.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/nextcloud-reverse-proxy-header-configuration-incorrect/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-nextcloud-reverse-proxy-header.png</image:loc>
      <image:title>Nextcloud: header del reverse proxy errati · Daniele Michelin</image:title>
      <image:caption>Nextcloud segnala che la configurazione degli header del reverse proxy è errata. Come impostare trusted_proxies e gli header dietro nginx, Traefik o Cloudflare.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/nextcloud-saml-signature-validation-failed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-saml-signature-validation-failed.png</image:loc>
      <image:title>SAML in Nextcloud: errore di validazione della firma</image:title>
      <image:caption>Nextcloud user_saml dice Signature validation failed. SAML Response rejected? Di solito è il certificato dell&#x27;IdP rinnovato. Cause, verifiche e soluzione.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/nextcloud-some-files-have-not-passed-the-integrity-check/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-nextcloud-integrity-check-failed.png</image:loc>
      <image:title>Nextcloud: controllo di integrità non superato · Daniele Michelin</image:title>
      <image:caption>Nextcloud elenca INVALID_HASH, MISSING_FILE o EXTRA_FILE dopo il controllo di integrità. Residui di un aggiornamento manuale o file modificati. Come risolvere.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/nextcloud-too-many-requests-brute-force-protection/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-nextcloud-too-many-requests.png</image:loc>
      <image:title>Nextcloud: too many requests, protezione brute force</image:title>
      <image:caption>Nextcloud mostra Too many requests from your network. La protezione brute force rallenta un IP. Come azzerarla e risolvere l&#x27;IP condiviso del proxy.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/nextcloud-trusted-domain-error/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-nextcloud-trusted-domain.png</image:loc>
      <image:title>Nextcloud &quot;access through untrusted domain&quot;: soluzione</image:title>
      <image:caption>Nextcloud dice access through untrusted domain: il nome host manca in trusted_domains. Come aggiungerlo con occ e controllare il reverse proxy.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/nextcloud-updates-between-multiple-major-versions-unsupported/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-nextcloud-multiple-major-versions-unsupported.png</image:loc>
      <image:title>Nextcloud: aggiornamento tra major bloccato · Daniele Michelin</image:title>
      <image:caption>occ upgrade o l&#x27;updater si ferma: aggiornamenti tra più major e downgrade non supportati. Aggiorna una major alla volta o allinea codice e database. Soluzione.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/nextcloud-well-known-caldav-carddav-not-set-up/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-nextcloud-well-known-caldav-carddav.png</image:loc>
      <image:title>Nextcloud: /.well-known/caldav non configurato · Daniele Michelin</image:title>
      <image:caption>Nextcloud avvisa che il web server non risolve /.well-known/caldav o carddav. Aggiungi i redirect 301 verso /remote.php/dav in nginx o Apache. Controlli e soluzione.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/nextcloud-your-data-directory-is-invalid-ocdata/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-nextcloud-data-directory-invalid.png</image:loc>
      <image:title>Nextcloud: data directory non valida – soluzione · Daniele Michelin</image:title>
      <image:caption>Nextcloud dice che la data directory non è valida e chiede .ocdata. Volume non montato, percorso errato in config.php o file perso. Controlli e soluzione.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/nginx-bind-address-already-in-use/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-nginx-address-in-use.png</image:loc>
      <image:title>nginx bind() fallito (98): indirizzo già in uso · Daniele Michelin</image:title>
      <image:caption>nginx non parte: bind() to 0.0.0.0:80 failed (98: Address already in use). Come trovare il processo che occupa la porta e risolvere in un minuto.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/nginx-connect-failed-111-connection-refused-upstream/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-nginx-connection-refused-111.png</image:loc>
      <image:title>nginx: connect() failed (111), soluzione · Daniele Michelin</image:title>
      <image:caption>nginx scrive “connect() failed (111: Connection refused) while connecting to upstream”: il backend è giù o ascolta altrove. Verifica e soluzione.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/nginx-could-not-build-server-names-hash/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-nginx-server-names-hash.png</image:loc>
      <image:title>nginx: could not build server_names_hash – soluzione</image:title>
      <image:caption>nginx -t fallisce con could not build server_names_hash, you should increase server_names_hash_bucket_size. Perché succede e quale impostazione modificare.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/nginx-emerg-cannot-load-certificate-pem-no-start-line/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-nginx-cannot-load-certificate.png</image:loc>
      <image:title>nginx: [emerg] cannot load certificate – soluzione · Daniele Michelin</image:title>
      <image:caption>nginx -t fallisce con cannot load certificate, no start line o key values mismatch. Percorso o file errato o chiave non corrispondente. Controlli e fix.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/nginx-php-fpm-primary-script-unknown-file-not-found/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-nginx-primary-script-unknown.png</image:loc>
      <image:title>nginx PHP-FPM: Primary script unknown, soluzione · Daniele Michelin</image:title>
      <image:caption>nginx mostra “File not found.” e nel log “Primary script unknown”: PHP-FPM non trova lo script. Controlla SCRIPT_FILENAME, root e percorsi nei container.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/nginx-php-fpm-socket-13-permission-denied/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-nginx-fpm-socket-permission-denied.png</image:loc>
      <image:title>nginx: socket PHP-FPM (13: Permission denied) · Daniele Michelin</image:title>
      <image:caption>nginx dà 502 e registra connect() to unix:/run/php/...sock failed (13: Permission denied). L&#x27;utente nginx non può usare il socket PHP-FPM. Controlli e soluzione.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/nginx-rewrite-or-internal-redirection-cycle/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-nginx-rewrite-redirection-cycle.png</image:loc>
      <image:title>nginx: internal redirection cycle – soluzione · Daniele Michelin</image:title>
      <image:caption>nginx registra rewrite or internal redirection cycle e risponde 500. try_files punta a un index.html mancante o il root è errato. Soluzione.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/nginx-upstream-prematurely-closed-connection/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-nginx-upstream-prematurely-closed.png</image:loc>
      <image:title>nginx: upstream prematurely closed connection – soluzione</image:title>
      <image:caption>nginx risponde 502 e registra upstream prematurely closed connection while reading response header. Il backend è caduto, riavviato o parla un altro protocollo.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/nginx-upstream-sent-too-big-header/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-nginx-too-big-header.png</image:loc>
      <image:title>nginx: upstream sent too big header – soluzione · Daniele Michelin</image:title>
      <image:caption>nginx scrive upstream sent too big header e risponde 502? Gli header del backend non entrano nel buffer. Come alzare i buffer fastcgi e proxy.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/nginx-upstream-timed-out-110/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-nginx-upstream-timed-out.png</image:loc>
      <image:title>nginx upstream timed out (110): cause e soluzione · Daniele Michelin</image:title>
      <image:caption>nginx registra upstream timed out (110: Connection timed out) e gli utenti vedono 504. Come trovare il backend lento e alzare il timeout giusto.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/nginx-worker-connections-are-not-enough/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-nginx-worker-connections.png</image:loc>
      <image:title>nginx: worker_connections are not enough – soluzione</image:title>
      <image:caption>nginx registra worker_connections are not enough e le richieste falliscono o si bloccano. Limite di connessioni per worker raggiunto. Come verificare e alzarlo.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/oidc-invalid-client-client-authentication-failed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-oidc-invalid-client.png</image:loc>
      <image:title>OIDC: invalid_client all&#x27;endpoint dei token · Daniele Michelin</image:title>
      <image:caption>Il login OIDC fallisce con invalid_client. Client secret errato o scaduto, metodo di autenticazione sbagliato o client ID inesistente. Controlli e soluzioni.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/oidc-invalid-grant-token-endpoint/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-oidc-invalid-grant.png</image:loc>
      <image:title>OIDC invalid_grant: cause e soluzione · Daniele Michelin</image:title>
      <image:caption>Errore OIDC “invalid_grant” sul token endpoint: codice scaduto o riusato, redirect_uri diversa, refresh token revocato o orologio sfasato. Come risolvere.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/oidc-redirect-uri-mismatch-invalid-redirect-uri/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-oidc-redirect-uri-mismatch.png</image:loc>
      <image:title>OIDC redirect_uri_mismatch: cause e soluzione · Daniele Michelin</image:title>
      <image:caption>Errore OIDC “redirect_uri_mismatch” o “Invalid parameter: redirect_uri”: l&#x27;URL di ritorno non coincide con quella registrata. Come trovare la differenza.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/php-allowed-memory-size-exhausted/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-php-memory-exhausted.png</image:loc>
      <image:title>PHP: allowed memory size exhausted – soluzione · Daniele Michelin</image:title>
      <image:caption>PHP Fatal error: Allowed memory size exhausted. Come alzare memory_limit nel php.ini giusto (FPM o CLI), trovare cosa consuma memoria ed evitare che si ripeta.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/php-call-to-undefined-function-mysqli-connect/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-php-mysqli-undefined-function.png</image:loc>
      <image:title>PHP: Call to undefined function mysqli_connect() – soluzione</image:title>
      <image:caption>PHP si ferma con Call to undefined function mysqli_connect() (o Class mysqli not found). L&#x27;estensione mysqli non è caricata nella versione PHP che serve il sito.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/php-cannot-modify-header-information-headers-already-sent/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-php-headers-already-sent.png</image:loc>
      <image:title>PHP: Cannot modify header information – soluzione · Daniele Michelin</image:title>
      <image:caption>PHP avvisa Cannot modify header information - headers already sent by (output started at file:riga). Output, BOM o spazi prima di header() o session_start().</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/php-fpm-server-reached-pm-max-children/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-php-fpm-max-children.png</image:loc>
      <image:title>PHP-FPM: server reached pm.max_children – soluzione · Daniele Michelin</image:title>
      <image:caption>PHP-FPM registra server reached pm.max_children e il sito rallenta o dà 502/504. Come dimensionare il pool dalla RAM e trovare le richieste lente.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/php-maximum-execution-time-exceeded/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-php-max-execution-time.png</image:loc>
      <image:title>PHP: maximum execution time exceeded – soluzione · Daniele Michelin</image:title>
      <image:caption>PHP Fatal error: Maximum execution time of 30 seconds exceeded. Come alzare max_execution_time, controllare il timeout di nginx e risolvere la parte lenta.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/php-parse-error-unexpected-token/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-php-parse-error-unexpected-token.png</image:loc>
      <image:title>PHP: Parse error unexpected token · Daniele Michelin</image:title>
      <image:caption>PHP Parse error: unexpected token significa che il file è sintatticamente rotto, spesso dopo un upgrade di PHP, un upload interrotto o un punto e virgola.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/php-uploaded-file-exceeds-upload-max-filesize/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-php-upload-max-filesize.png</image:loc>
      <image:title>PHP: uploaded file exceeds upload_max_filesize – soluzione</image:title>
      <image:caption>Gli upload falliscono con The uploaded file exceeds the upload_max_filesize directive in php.ini o POST Content-Length exceeds the limit. Quali limiti alzare e dove.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/port-forwarding-non-funziona/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-portfreigabe-geht-nicht.png</image:loc>
      <image:title>Port forwarding non funziona: cause e controlli · Daniele Michelin</image:title>
      <image:caption>Port forwarding nel router ma da fuori non si raggiunge nulla? Spesso c&#x27;entrano DS-Lite o CGNAT, altrimenti firewall o indirizzo sbagliato. Controlli passo passo.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/postfix-deferred-connect-connection-timed-out/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-postfix-connection-timed-out.png</image:loc>
      <image:title>Postfix: connection timed out, mail in coda · Daniele Michelin</image:title>
      <image:caption>Postfix status=deferred (connect to ...:25: Connection timed out). Porta 25 bloccata, firewall o problema IPv6. Controlli e soluzioni con relay sulla 587.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/postfix-host-or-domain-name-not-found-name-service-error/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-postfix-host-not-found.png</image:loc>
      <image:title>Postfix: host or domain name not found – cause · Daniele Michelin</image:title>
      <image:caption>Postfix status=deferred: Host or domain name not found, Name service error type=MX. Controlla resolver, chroot e dominio del destinatario.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/postfix-hostname-does-not-resolve-to-address/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-postfix-hostname-does-not-resolve.png</image:loc>
      <image:title>Postfix: hostname does not resolve, soluzione · Daniele Michelin</image:title>
      <image:caption>Avviso Postfix “hostname does not resolve to address”: DNS diretto e inverso del client non coincidono. Quando è innocuo e quando devi intervenire.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/postfix-mail-for-domain-loops-back-to-myself/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-postfix-mail-loops-back-to-myself.png</image:loc>
      <image:title>Postfix: mail loops back to myself – soluzione · Daniele Michelin</image:title>
      <image:caption>Postfix rimbalza con: mail for example.com loops back to myself. MX o relay puntano a questo server, ma il dominio qui non è configurato. Trova il ciclo e risolvi.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/postfix-sasl-authentication-failed-no-mechanism-available/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-postfix-sasl-authentication-failed.png</image:loc>
      <image:title>Postfix: autenticazione SASL non riuscita · Daniele Michelin</image:title>
      <image:caption>Postfix non accede al relay: SASL authentication failed, no mechanism available. Moduli libsasl2 mancanti, sasl_passwd o TLS. Soluzioni.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/postgres-too-many-clients/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-postgres-too-many-clients.png</image:loc>
      <image:title>Postgres: FATAL too many clients already · Daniele Michelin</image:title>
      <image:caption>“sorry, too many clients already” significa che max_connections è esaurito. Di solito sono pool aperti, un leak o transazioni idle: come misurarlo.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/postgresql-fatal-no-pg-hba-conf-entry-for-host/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-postgres-no-pg-hba-conf-entry.png</image:loc>
      <image:title>PostgreSQL: no pg_hba.conf entry for host – soluzione</image:title>
      <image:caption>PostgreSQL risponde FATAL: no pg_hba.conf entry for host. Nessuna regola consente indirizzo, utente, database o SSL. Controlla le regole e aggiungi una riga stretta.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/postgresql-fatal-password-authentication-failed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-postgres-password-authentication-failed.png</image:loc>
      <image:title>PostgreSQL: password authentication failed – soluzione</image:title>
      <image:caption>PostgreSQL rifiuta l&#x27;accesso con FATAL: password authentication failed. Password errata, altra riga di pg_hba.conf o codifica dell&#x27;URL. Controlli e soluzioni.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/raggiungere-nas-di-casa-da-fuori/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-nas-von-unterwegs-erreichen.png</image:loc>
      <image:title>Raggiungere il NAS di casa da fuori: VPN o porte · Daniele Michelin</image:title>
      <image:caption>Come raggiungere NAS o PC di casa da fuori: VPN, port forwarding e DynDNS a confronto, con avvisi di sicurezza e comandi di verifica.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/redis-oom-command-not-allowed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-redis-oom-command-not-allowed.png</image:loc>
      <image:title>Redis: OOM command not allowed · Daniele Michelin</image:title>
      <image:caption>Redis segnala “OOM command not allowed” quando la memoria supera maxmemory e non può eliminare chiavi. Ecco come tenere la cache scrivibile.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/riavviare-router-correttamente/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-router-neustart-richtig.png</image:loc>
      <image:title>Riavviare il router nel modo giusto, e quando · Daniele Michelin</image:title>
      <image:caption>Internet bloccato o Wi-Fi instabile? Riavvia il router nell&#x27;ordine corretto, verifica con ping che sia servito e scopri quando il riavvio non risolve nulla.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/rsync-code-23-partial-transfer/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-rsync-code-23-partial-transfer.png</image:loc>
      <image:title>rsync: errore code 23 (file non trasferiti) · Daniele Michelin</image:title>
      <image:caption>rsync esce con code 23 quando singoli file non sono stati trasferiti: permessi, file cambiati durante la copia o attributi. Il codice da solo dice poco.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/saml-clock-skew-notbefore-timestamp-not-yet-valid/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-saml-clock-skew.png</image:loc>
      <image:title>SAML NotBefore / clock skew: errore di orario · Daniele Michelin</image:title>
      <image:caption>Errore SAML “Could not validate timestamp: not yet valid” o NotBefore/NotOnOrAfter: gli orologi di IdP e SP non coincidono. Verifica e fix con NTP.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/saml-invalid-audience-for-this-response/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-saml-invalid-audience.png</image:loc>
      <image:title>SAML: Invalid audience for this Response – soluzione</image:title>
      <image:caption>Il login SAML fallisce con Invalid audience for this Response. L&#x27;Entity ID nell&#x27;IdP non coincide con quello del service provider. Confronta i due valori e correggi.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/smart-tv-chromecast-non-si-collega/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-smart-tv-chromecast-verbindet-nicht.png</image:loc>
      <image:title>Smart TV o Chromecast non si collega: cause · Daniele Michelin</image:title>
      <image:caption>Il casting non funziona e TV o Chromecast mancano nell&#x27;app? Controlla stessa rete, rete ospiti, 2,4 GHz e impostazioni del router passo passo.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/smtp-421-4-7-0/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-smtp-421-470.png</image:loc>
      <image:title>SMTP 421 4.7.0: rate limited – cause e soluzione · Daniele Michelin</image:title>
      <image:caption>SMTP 421 4.7.0 significa che il destinatario sta limitando il tuo IP. Cause tipiche come PTR mancante o ondata di spam, diagnosi e soluzione.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/smtp-450-4-1-8-sender-address-rejected-domain-not-found/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-postfix-sender-domain-not-found.png</image:loc>
      <image:title>SMTP: 450 4.1.8 Dominio mittente non trovato · Daniele Michelin</image:title>
      <image:caption>Postfix rifiuta con 450 4.1.8 Sender address rejected: Domain not found. Il dominio del mittente non ha record A o MX. Controlla il DNS e correggi il mittente.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/smtp-451-4-7-1-greylisting/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-smtp-451-471-greylisting.png</image:loc>
      <image:title>SMTP 451 4.7.1 greylisting: cause e soluzione · Daniele Michelin</image:title>
      <image:caption>SMTP 451 4.7.1 Greylisted è un ritardo voluto. Quando è normale, quando la posta resta bloccata e come regolare il greylisting di Postgrey o Rspamd.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/smtp-530-5-7-0-must-issue-starttls/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-smtp-530-570-starttls.png</image:loc>
      <image:title>SMTP 530 5.7.0: must issue STARTTLS, soluzione · Daniele Michelin</image:title>
      <image:caption>SMTP 530 5.7.0 significa che il server vuole STARTTLS prima di accettare login o posta. Cause, verifica con openssl e impostazioni corrette del client.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/smtp-535-5-7-8-authentication-failed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-smtp-535-578.png</image:loc>
      <image:title>SMTP 535 5.7.8: authentication failed, soluzione · Daniele Michelin</image:title>
      <image:caption>SMTP 535 5.7.8 significa che il server ha rifiutato il login SMTP. Cause tipiche con Postfix/Dovecot, Gmail e Microsoft 365 e come verificarle.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/smtp-550-5-1-1-user-unknown/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-smtp-550-511-user-unknown.png</image:loc>
      <image:title>SMTP 550 5.1.1: user unknown, cause e soluzione · Daniele Michelin</image:title>
      <image:caption>SMTP 550 5.1.1 significa che l&#x27;indirizzo del destinatario non esiste sul server. Controlla refusi, mappe delle caselle e classe di dominio in Postfix.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/smtp-550-5-4-1-recipient-address-rejected-access-denied/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-exchange-online-550-541-access-denied.png</image:loc>
      <image:title>SMTP: 550 5.4.1 Recipient address rejected – soluzione</image:title>
      <image:caption>Microsoft 365 rimbalza con 550 5.4.1 Recipient address rejected: Access denied. Destinatario assente nel tenant o tipo di dominio errato. Controlli e soluzioni.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/smtp-550-5-7-1/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-smtp-550-571.png</image:loc>
      <image:title>SMTP 550 5.7.1: Relay access denied – cause e soluzione</image:title>
      <image:caption>SMTP 550 5.7.1 significa che il server rifiuta il relay o blocca per policy. Cause tipiche, verifica con postconf e soluzioni concrete.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/smtp-550-5-7-26/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-smtp-550-5726.png</image:loc>
      <image:title>SMTP 550 5.7.26 / 5.7.23: Gmail rifiuta per DMARC/SPF</image:title>
      <image:caption>Gmail rifiuta con 550 5.7.26 o 5.7.23? SPF, DKIM o l&#x27;allineamento DMARC non tornano. Come controllare i record DNS e risolvere il bounce.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/smtp-552-5-2-2-mailbox-full/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-smtp-552-522-mailbox-full.png</image:loc>
      <image:title>SMTP 552 5.2.2: casella piena (quota), soluzione · Daniele Michelin</image:title>
      <image:caption>SMTP 552 5.2.2 significa che la casella del destinatario ha raggiunto il limite di spazio. Come verificare la quota Dovecot e liberare spazio.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/smtp-553-5-7-1-sender-address-rejected/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-smtp-553-571-sender-rejected.png</image:loc>
      <image:title>SMTP 553 5.7.1: sender address rejected, soluzione · Daniele Michelin</image:title>
      <image:caption>SMTP 553 5.7.1 significa che l&#x27;utente autenticato non può inviare con quel mittente. Come controllare smtpd_sender_login_maps e configurare il send-as.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/smtp-554-5-7-1/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-smtp-554-571.png</image:loc>
      <image:title>SMTP 554 5.7.1: rifiuto per blocklist, come risolvere</image:title>
      <image:caption>SMTP 554 5.7.1 con blocked using: il tuo IP è in una blocklist come Spamhaus. Trova la causa, ferma lo spam e chiedi il delisting nel modo giusto.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/smtp-554-5-7-1-relay-access-denied/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-postfix-relay-access-denied.png</image:loc>
      <image:title>SMTP: 554 5.7.1 Relay access denied – soluzione · Daniele Michelin</image:title>
      <image:caption>Postfix risponde 554 5.7.1 Relay access denied: mittente senza login o dominio destinatario non gestito qui. Controlla le regole e risolvi senza open relay.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/smtp-porta-25-bloccata/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-smtp-port-25-gesperrt.png</image:loc>
      <image:title>Porta 25 bloccata: invio mail impossibile · Daniele Michelin</image:title>
      <image:caption>Molti provider e cloud bloccano la porta 25 in uscita. Le mail restano in coda e i timeout si accumulano. La soluzione è la submission con auth o un relay.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/speed-test-troppo-lento/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-speedtest-zu-langsam.png</image:loc>
      <image:title>Speed test sotto il valore del contratto: cause · Daniele Michelin</image:title>
      <image:caption>Lo speed test è sotto il valore del contratto? Contratto e realtà differiscono. Prova via cavo, controlla con ping e trova il collo di bottiglia nel Wi-Fi.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/ssh-connect-to-host-port-22-connection-timed-out/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-ssh-connection-timed-out.png</image:loc>
      <image:title>SSH porta 22: connection timed out – cause · Daniele Michelin</image:title>
      <image:caption>ssh: connect to host port 22: Connection timed out. Firewall, indirizzo errato, server spento o ban di fail2ban? Come capirlo e risolvere il problema.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/ssh-connection-refused-port-22/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-ssh-connection-refused.png</image:loc>
      <image:title>SSH: connessione rifiutata sulla porta 22 · Daniele Michelin</image:title>
      <image:caption>SSH Connection refused significa che sulla porta nessuno accetta connessioni. Di solito il servizio è fermo, ascolta altrove o il pacchetto viene rifiutato.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/ssh-permission-denied-publickey/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-ssh-permission-denied-publickey.png</image:loc>
      <image:title>SSH: Permission denied (publickey), soluzione · Daniele Michelin</image:title>
      <image:caption>SSH dice “Permission denied (publickey)”: utente sbagliato, chiave assente in authorized_keys, permessi errati o ssh-rsa disattivato. Verifica passo passo.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/ssh-remote-host-identification-has-changed/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-ssh-host-key-changed.png</image:loc>
      <image:title>SSH: avviso host identification has changed · Daniele Michelin</image:title>
      <image:caption>SSH avvisa REMOTE HOST IDENTIFICATION HAS CHANGED. Di solito una reinstallazione. Come verificare la chiave e correggere known_hosts in sicurezza.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/ssh-too-many-authentication-failures/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-ssh-too-many-authentication-failures.png</image:loc>
      <image:title>SSH: too many authentication failures, cause · Daniele Michelin</image:title>
      <image:caption>SSH si disconnette con Too many authentication failures prima della password. L&#x27;agent offre troppe chiavi. Usa IdentitiesOnly e MaxAuthTries.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/ssl-certificate-has-expired/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-tls-certificate-expired.png</image:loc>
      <image:title>SSL: certificate has expired, soluzione · Daniele Michelin</image:title>
      <image:caption>“certificate has expired” o NET::ERR_CERT_DATE_INVALID: rinnovo fallito, servizio non ricaricato oppure orologio sbagliato. Come verificare e risolvere.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/ssl-error-rx-record-too-long/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-tls-rx-record-too-long.png</image:loc>
      <image:title>SSL_ERROR_RX_RECORD_TOO_LONG: cause e soluzione · Daniele Michelin</image:title>
      <image:caption>Firefox mostra SSL_ERROR_RX_RECORD_TOO_LONG: sulla porta 443 il server risponde in HTTP in chiaro. Di solito manca “ssl” nella riga listen di nginx.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/ssl-unable-to-get-local-issuer-certificate/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-tls-unable-to-get-local-issuer.png</image:loc>
      <image:title>unable to get local issuer certificate: soluzione · Daniele Michelin</image:title>
      <image:caption>“SSL certificate problem: unable to get local issuer certificate” con curl, Python o Git: intermedi mancanti, bundle CA o TLS inspection. Soluzioni.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/stampante-di-rete-non-trovata/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-drucker-im-netzwerk-nicht-gefunden.png</image:loc>
      <image:title>Stampante di rete non trovata: cause e soluzione · Daniele Michelin</image:title>
      <image:caption>La stampante Wi-Fi non compare su PC o telefono? Cause tipiche come rete diversa o nuovo indirizzo IP e una verifica passo passo da fare in casa.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/sudo-user-is-not-in-the-sudoers-file/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-sudo-not-in-sudoers.png</image:loc>
      <image:title>sudo: utente non presente nel file sudoers · Daniele Michelin</image:title>
      <image:caption>sudo risponde “is not in the sudoers file. This incident will be reported.” Manca il gruppo sudo o una regola. Come controllare e aggiungerlo con usermod e visudo.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/systemd-job-failed-control-process-exited-with-error-code/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-systemd-job-failed-control-process.png</image:loc>
      <image:title>systemd: job failed, control process: soluzione · Daniele Michelin</image:title>
      <image:caption>“Job for X.service failed because the control process exited with error code”: come trovare il vero errore con systemctl status e journalctl, passo passo.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/systemd-start-request-repeated-too-quickly/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-systemd-start-limit-hit.png</image:loc>
      <image:title>systemd: start-limit-hit, avvii troppo rapidi · Daniele Michelin</image:title>
      <image:caption>systemd: Start request repeated too quickly, Failed with result start-limit-hit. Un ciclo di crash ha raggiunto il limite. Trova la causa e reimposta l&#x27;unità.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/tar-unexpected-end-of-file/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-tar-unexpected-end-of-file.png</image:loc>
      <image:title>tar: unexpected end of file in estrazione · Daniele Michelin</image:title>
      <image:caption>“unexpected end of file” significa che l&#x27;archivio è incompleto: download interrotto, disco pieno o processo fermato. Ecco come recuperare il resto.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/temporary-failure-in-name-resolution/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-linux-temporary-failure-name-resolution.png</image:loc>
      <image:title>Temporary failure in name resolution – soluzione · Daniele Michelin</image:title>
      <image:caption>ping, apt o curl segnalano Temporary failure in name resolution. Il server non raggiunge un resolver DNS: resolv.conf vuoto, resolved fermo o porta 53 bloccata.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/tls-err-ssl-version-or-cipher-mismatch/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-tls-version-cipher-mismatch.png</image:loc>
      <image:title>ERR_SSL_VERSION_OR_CIPHER_MISMATCH: soluzione · Daniele Michelin</image:title>
      <image:caption>ERR_SSL_VERSION_OR_CIPHER_MISMATCH: nessuna versione TLS o cipher in comune. Controlla ssl_protocols, ssl_ciphers e il certificato del virtual host.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/trovare-indirizzo-ip-gateway/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-ip-adresse-gateway-finden.png</image:loc>
      <image:title>Trovare indirizzo IP e gateway (Win, Mac, Linux) · Daniele Michelin</image:title>
      <image:caption>Non conosci l&#x27;indirizzo del router? Trova il tuo IP e il gateway predefinito con ipconfig, ip route o route e usali per aprire la pagina di gestione del router.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/wifi-collegato-senza-internet/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-wlan-verbunden-kein-internet.png</image:loc>
      <image:title>Wi-Fi collegato ma senza internet: controlli · Daniele Michelin</image:title>
      <image:caption>Il Wi-Fi c&#x27;è ma le pagine non si caricano? Controlla passo passo se la causa è router, linea internet o DNS, con comandi reali e soluzioni semplici.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/wifi-continua-a-disconnettersi/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-wlan-bricht-ab.png</image:loc>
      <image:title>Wi-Fi si disconnette: cadute di connessione · Daniele Michelin</image:title>
      <image:caption>Il Wi-Fi cade di continuo o si interrompe per un attimo? Cause semplici come interferenze, risparmio energetico e carico del router e controlli con comandi reali.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/wifi-lento/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-wlan-langsam.png</image:loc>
      <image:title>Wi-Fi lento: cause e controlli a casa · Daniele Michelin</image:title>
      <image:caption>Wi-Fi collegato ma lento? Controlli semplici su distanza, interferenze e router con comandi reali e soluzioni tipiche per la rete di casa, senza essere esperti.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/errori/wifi-ripetitore-o-mesh/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-e-wlan-repeater-mesh.png</image:loc>
      <image:title>Ripetitore Wi-Fi o mesh: cosa scegliere a casa · Daniele Michelin</image:title>
      <image:caption>Zona morta in casa: ripetitore o mesh? Confronto generale, posizione giusta, controllo del segnale con comandi reali e quando un cavo è la soluzione migliore.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/acme/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-acme.png</image:loc>
      <image:title>Cos&#x27;è ACME? Certificati TLS automatici · Daniele Michelin</image:title>
      <image:caption>ACME è il protocollo con cui Let&#x27;s Encrypt e altre CA emettono certificati in automatico. HTTP-01, DNS-01, client come certbot e rinnovi falliti.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/autenticazione-a-piu-fattori/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-mfa.png</image:loc>
      <image:title>Cos&#x27;è l&#x27;MFA? Autenticazione a più fattori · Daniele Michelin</image:title>
      <image:caption>L&#x27;MFA richiede al login, oltre alla password, un secondo fattore come codice da app, push o chiave di sicurezza. Metodi, punti deboli e supporto.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/bounce-ndr/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-ndr.png</image:loc>
      <image:title>Cos&#x27;è un bounce (NDR)? Leggere i messaggi d&#x27;errore · Daniele Michelin</image:title>
      <image:caption>Un bounce o NDR segnala che una email non è stata consegnata. Come leggere il codice di stato, distinguere hard e soft bounce ed evitare il backscatter.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/caldav-carddav/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-caldav-carddav.png</image:loc>
      <image:title>Cosa sono CalDAV e CardDAV? La sync spiegata · Daniele Michelin</image:title>
      <image:caption>CalDAV sincronizza i calendari e CardDAV i contatti, entrambi basati su WebDAV. Configurazione con Nextcloud, iOS, Android e Thunderbird e problemi tipici.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/catena-di-certificati/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-cert-chain.png</image:loc>
      <image:title>Cos&#x27;è una catena di certificati? Intermedi · Daniele Michelin</image:title>
      <image:caption>La catena collega il certificato del server, tramite gli intermedi, a una root CA fidata. Perché serve la catena completa e come controllarla.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/codice-di-stato-http/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-http-status.png</image:loc>
      <image:title>Cos&#x27;è un codice di stato HTTP? Le classi · Daniele Michelin</image:title>
      <image:caption>I codici di stato HTTP mostrano come il server ha risposto a una richiesta. Le cinque classi, codici chiave come 301, 403 e 502 e come leggerli nel debug.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/content-security-policy/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-csp.png</image:loc>
      <image:title>Cos&#x27;è una Content Security Policy (CSP)? · Daniele Michelin</image:title>
      <image:caption>Una Content Security Policy stabilisce da quali sorgenti una pagina può caricare script, stili e frame. Direttive, modalità report-only e i guasti tipici.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/cron/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-cron.png</image:loc>
      <image:title>Cos&#x27;è un cron job? Cron su Linux spiegato · Daniele Michelin</image:title>
      <image:caption>Cron esegue comandi a orari prestabiliti su Linux. Com&#x27;è fatta una riga di crontab, differenze con i timer systemd e fallimenti silenziosi.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/dkim/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-dkim.png</image:loc>
      <image:title>Cos&#x27;è DKIM? Le firme delle email spiegate · Daniele Michelin</image:title>
      <image:caption>DKIM firma crittograficamente le email in uscita e pubblica la chiave pubblica nel DNS. Come funziona, cos&#x27;è il selector e perché compare dkim=fail.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/dmarc/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-dmarc.png</image:loc>
      <image:title>Cos&#x27;è DMARC? Policy e report spiegati · Daniele Michelin</image:title>
      <image:caption>DMARC collega SPF e DKIM all&#x27;indirizzo From visibile e dice ai destinatari cosa fare con la posta falsificata. Allineamento, policy e report aggregati.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/dnssec/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-dnssec.png</image:loc>
      <image:title>Cos&#x27;è DNSSEC? Risposte DNS firmate · Daniele Michelin</image:title>
      <image:caption>DNSSEC firma i record DNS così i resolver riconoscono risposte falsificate. Come funziona, a cosa serve il record DS e perché un errore spegne il dominio.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/escalation/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-escalation.png</image:loc>
      <image:title>Cos&#x27;è un&#x27;escalation nel supporto IT? · Daniele Michelin</image:title>
      <image:caption>Un&#x27;escalation passa un ticket a un livello di supporto superiore o avvisa il management. Escalation funzionale e gerarchica, buoni passaggi.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/file-descriptor/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-file-descriptor.png</image:loc>
      <image:title>Cos&#x27;è un file descriptor? I limiti spiegati · Daniele Michelin</image:title>
      <image:caption>Un file descriptor è il numero con cui un processo usa file e socket aperti. Da dove nasce Too many open files e come alzare il limite in modo corretto.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/glue-record/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-glue.png</image:loc>
      <image:title>Cos&#x27;è un glue record? La delega DNS spiegata · Daniele Michelin</image:title>
      <image:caption>I glue record sono gli IP dei name server pubblicati nella zona padre. Quando servono, come impostarli e cosa si rompe quando sono sbagliati.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/greylisting/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-greylisting.png</image:loc>
      <image:title>Cos&#x27;è il greylisting? Antispam con ritardo · Daniele Michelin</image:title>
      <image:caption>Il greylisting rifiuta in modo temporaneo la posta da mittenti sconosciuti e la accetta al nuovo tentativo. Come funziona, svantaggi e come riconoscerlo.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/hsts/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-hsts.png</image:loc>
      <image:title>Cos&#x27;è HSTS? HTTP Strict Transport Security · Daniele Michelin</image:title>
      <image:caption>HSTS dice ai browser di aprire un dominio solo via HTTPS. Sintassi dell&#x27;header, max-age, includeSubDomains, preload e perché tornare indietro è difficile.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/identity-provider/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-idp.png</image:loc>
      <image:title>Cos&#x27;è un identity provider (IdP)? · Daniele Michelin</image:title>
      <image:caption>Un identity provider gestisce gli account utente e conferma alle applicazioni, via SAML o OIDC, chi ha fatto login. Esempi, ruolo e rischi se si ferma.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/imap/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-imap.png</image:loc>
      <image:title>Cos&#x27;è IMAP? L&#x27;accesso alla casella spiegato · Daniele Michelin</image:title>
      <image:caption>IMAP è il protocollo con cui i client di posta accedono a una casella sul server. Differenza con POP3, porte 143 e 993 e problemi più frequenti.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-hub-glossary.png</image:loc>
      <image:title>Glossario IT per admin: DNS, mail, TLS, SSO · Daniele Michelin</image:title>
      <image:caption>Termini di DNS, e-mail, TLS, single sign-on e gestione Linux spiegati in breve e in modo pratico — con esempi e comandi.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/inode/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-inode.png</image:loc>
      <image:title>Cos&#x27;è un inode? Il file system Linux spiegato · Daniele Michelin</image:title>
      <image:caption>Un inode contiene i metadati di un file nel file system Linux. Perché un disco può risultare pieno con spazio libero e come trovare la causa.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/journald/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-journald.png</image:loc>
      <image:title>Cos&#x27;è journald? Leggere i log con systemd · Daniele Michelin</image:title>
      <image:caption>journald raccoglie i log di tutti i servizi sotto systemd in un journal binario. I comandi journalctl principali, limiti di spazio e log persistenti.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/json-web-token/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-jwt.png</image:loc>
      <image:title>Cos&#x27;è un JWT? Il JSON Web Token spiegato · Daniele Michelin</image:title>
      <image:caption>Un JWT è un token firmato composto da header, payload e firma, usato in OIDC e nelle API. Struttura, validazione, scadenza ed errori di sicurezza comuni.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/livelli-di-supporto/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-support-levels.png</image:loc>
      <image:title>Supporto di 1°, 2° e 3° livello: differenze · Daniele Michelin</image:title>
      <image:caption>I livelli di supporto dividono le richieste per complessità: ricezione e casi standard, analisi tecnica, sviluppo e produttore. Compiti e passaggi.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/logrotate/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-logrotate.png</image:loc>
      <image:title>Cos&#x27;è logrotate? Ruotare i file di log · Daniele Michelin</image:title>
      <image:caption>logrotate ruota, comprime e cancella in automatico i vecchi file di log. Com&#x27;è fatta una configurazione, copytruncate contro postrotate ed errori tipici.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/mta-mail-transfer-agent/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-mta.png</image:loc>
      <image:title>Cos&#x27;è un MTA? Il mail transfer agent spiegato · Daniele Michelin</image:title>
      <image:caption>Un MTA riceve le email via SMTP e le passa al server successivo, per esempio Postfix o Exim. Differenza con MUA e MDA e a cosa serve la coda.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/mta-sts/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-mta-sts.png</image:loc>
      <image:title>Cos&#x27;è MTA-STS? TLS obbligatorio per la posta · Daniele Michelin</image:title>
      <image:caption>MTA-STS obbliga i mail server mittenti a consegnare via TLS con certificato valido. Record TXT, file di policy, modalità testing ed enforce, errori tipici.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/name-server-autoritativo/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-authoritative.png</image:loc>
      <image:title>Cos&#x27;è un name server autoritativo? · Daniele Michelin</image:title>
      <image:caption>Un name server autoritativo contiene i dati originali di una zona DNS e dà risposte definitive. Differenza con il resolver e come interrogarlo.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/nextcloud/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-nextcloud.png</image:loc>
      <image:title>Cos&#x27;è Nextcloud? L&#x27;architettura per admin · Daniele Michelin</image:title>
      <image:caption>Nextcloud è una piattaforma self-hosted per file, calendari, contatti e collaborazione. I componenti: PHP, database, cache e storage, e come gestirla.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/nxdomain/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-nxdomain.png</image:loc>
      <image:title>Cosa significa NXDOMAIN? L&#x27;errore DNS spiegato · Daniele Michelin</image:title>
      <image:caption>NXDOMAIN significa che il nome richiesto non esiste nel DNS. Differenza con NODATA e SERVFAIL, cause tipiche e diagnosi rapida con il comando dig.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/oauth-2-0/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-oauth2.png</image:loc>
      <image:title>Cos&#x27;è OAuth 2.0? L&#x27;autorizzazione spiegata · Daniele Michelin</image:title>
      <image:caption>OAuth 2.0 permette alle applicazioni di accedere a risorse senza conoscere la password dell&#x27;utente. Ruoli, access e refresh token e flussi attuali.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/object-storage-s3/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-s3.png</image:loc>
      <image:title>Cos&#x27;è l&#x27;object storage S3? Il bucket spiegato · Daniele Michelin</image:title>
      <image:caption>L&#x27;object storage S3 conserva i dati come oggetti in bucket, accessibili via API HTTP. Differenze con un file system, uso con Nextcloud ed errori tipici.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/oom-killer/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-oom-killer.png</image:loc>
      <image:title>Cos&#x27;è l&#x27;OOM killer? La memoria su Linux · Daniele Michelin</image:title>
      <image:caption>L&#x27;OOM killer termina i processi su Linux quando la memoria finisce. Come sceglie la vittima, come trovarlo nei log e cosa risolve davvero il problema.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/openid-connect/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-oidc.png</image:loc>
      <image:title>Cos&#x27;è OpenID Connect (OIDC)? Spiegazione · Daniele Michelin</image:title>
      <image:caption>OpenID Connect aggiunge login e identità a OAuth 2.0. ID token, documento di discovery, client ID e redirect URI e gli errori tipici della configurazione.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/php-fpm/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-php-fpm.png</image:loc>
      <image:title>Cos&#x27;è PHP-FPM e come impostare pm.max_children · Daniele Michelin</image:title>
      <image:caption>PHP-FPM esegue PHP in un pool di processi via FastCGI. Come calcolare pm.max_children dalla RAM, un esempio di configurazione e le cause di 502/504.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/propagazione-dns/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-propagation.png</image:loc>
      <image:title>Cos&#x27;è la propagazione DNS? Quanto dura? · Daniele Michelin</image:title>
      <image:caption>La propagazione DNS è il tempo che serve perché tutti i resolver vedano una risposta DNS modificata. Perché dipende dal TTL e come verificarla.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/record-a-aaaa/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-a-aaaa.png</image:loc>
      <image:title>Cos&#x27;è un record A? Record AAAA e IPv6 · Daniele Michelin</image:title>
      <image:caption>Un record A associa un hostname a un indirizzo IPv4, il record AAAA a un IPv6. Come funzionano, come verificarli con dig e gli errori dual-stack.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/record-caa/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-caa.png</image:loc>
      <image:title>Cos&#x27;è un record CAA? Chi può emettere certificati · Daniele Michelin</image:title>
      <image:caption>Un record CAA stabilisce quali autorità di certificazione possono emettere certificati per il tuo dominio. Sintassi, esempio e errori con ACME.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/record-cname/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-cname.png</image:loc>
      <image:title>Cos&#x27;è un record CNAME? Alias nel DNS · Daniele Michelin</image:title>
      <image:caption>Un record CNAME rende un nome DNS alias di un altro. Quando usarlo, perché non è ammesso all&#x27;apex della zona e gli errori che lo rendono inutile.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/record-mx/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-mx.png</image:loc>
      <image:title>Cos&#x27;è un record MX? Instradamento mail nel DNS · Daniele Michelin</image:title>
      <image:caption>Il record MX indica quale server riceve le email di un dominio. Priorità, verifica con dig e gli errori più comuni quando cambi provider di posta.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/record-ns/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-ns.png</image:loc>
      <image:title>Cos&#x27;è un record NS? La delega nel DNS · Daniele Michelin</image:title>
      <image:caption>I record NS indicano quali name server sono responsabili di una zona. Delega presso il registro, verifica con dig e trappole quando cambi provider DNS.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/record-ptr/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-ptr.png</image:loc>
      <image:title>Cos&#x27;è un record PTR? Il reverse DNS spiegato · Daniele Michelin</image:title>
      <image:caption>Un record PTR risolve un indirizzo IP in un hostname. Perché serve ai mail server, chi lo gestisce e come verificare il reverse DNS con dig.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/record-soa/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-soa.png</image:loc>
      <image:title>Cos&#x27;è un record SOA? I campi spiegati · Daniele Michelin</image:title>
      <image:caption>Il record SOA apre ogni zona DNS. Cosa significano serial, refresh, retry, expire e minimum, e perché il numero di serie è così importante.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/record-srv/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-srv.png</image:loc>
      <image:title>Cos&#x27;è un record SRV? Trovare servizi nel DNS · Daniele Michelin</image:title>
      <image:caption>Un record SRV pubblica host e porta di un servizio come Autodiscover, CalDAV, SIP o XMPP. Struttura dei campi, esempio e verifica con il comando dig.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/record-txt/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-txt.png</image:loc>
      <image:title>Cos&#x27;è un record TXT? Usi e limiti · Daniele Michelin</image:title>
      <image:caption>I record TXT contengono testo libero nel DNS e ospitano SPF, DKIM, DMARC e codici di verifica. Formato, limite dei 255 caratteri ed errori comuni.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/relay-open-relay/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-open-relay.png</image:loc>
      <image:title>Cos&#x27;è un relay di posta? L&#x27;open relay spiegato · Daniele Michelin</image:title>
      <image:caption>Un relay inoltra email verso domini di cui non è responsabile. Quando è voluto, perché un open relay è pericoloso e da dove nasce Relay access denied.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/resolver-dns/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-resolver.png</image:loc>
      <image:title>Cos&#x27;è un resolver DNS? La ricorsione spiegata · Daniele Michelin</image:title>
      <image:caption>Un resolver DNS risponde alle query dei client percorrendo la catena dalla root alla zona giusta e mettendo in cache il risultato. Funzionamento e debug.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/reverse-proxy/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-reverse-proxy.png</image:loc>
      <image:title>Cos&#x27;è un reverse proxy? A cosa serve · Daniele Michelin</image:title>
      <image:caption>Un reverse proxy riceve le richieste e le inoltra ai server di backend, per esempio nginx davanti a Nextcloud. Compiti, header ed errori tipici.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/root-cause-analysis/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-rca.png</image:loc>
      <image:title>Cos&#x27;è una root cause analysis (RCA)? · Daniele Michelin</image:title>
      <image:caption>Una root cause analysis cerca la causa reale di un incidente, non solo il sintomo. Il processo, i 5 perché e un buon report.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/rpo-rto/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-rpo-rto.png</image:loc>
      <image:title>Cosa sono RPO e RTO? Obiettivi di ripristino · Daniele Michelin</image:title>
      <image:caption>L&#x27;RPO indica quanta perdita di dati è accettabile, l&#x27;RTO in quanto tempo un sistema deve ripartire. Esempi, impatto sui backup e perché testare il restore.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/saml/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-saml.png</image:loc>
      <image:title>Cos&#x27;è SAML? Il protocollo SSO spiegato · Daniele Michelin</image:title>
      <image:caption>SAML 2.0 è un protocollo basato su XML per il single sign-on tra identity provider e applicazione. Flusso, metadati, certificati ed errori tipici.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/scim/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-scim.png</image:loc>
      <image:title>Cos&#x27;è SCIM? Il provisioning utenti spiegato · Daniele Michelin</image:title>
      <image:caption>SCIM sincronizza in automatico utenti e gruppi dall&#x27;identity provider alle applicazioni. Differenza con l&#x27;SSO, funzionamento e trappole più comuni.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/server-name-indication/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-sni.png</image:loc>
      <image:title>Cos&#x27;è SNI? Server Name Indication spiegato · Daniele Michelin</image:title>
      <image:caption>SNI comunica al server, durante l&#x27;handshake TLS, quale hostname vuole il client, così più siti HTTPS condividono un IP. Funzionamento e problemi tipici.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/service-level-agreement/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-sla.png</image:loc>
      <image:title>Cos&#x27;è uno SLA? Service level agreement · Daniele Michelin</image:title>
      <image:caption>Uno SLA definisce obiettivi misurabili come tempo di risposta, tempo di risoluzione e disponibilità. Termini chiave, cosa vuol dire 99,9% e trappole.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/service-provider/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-sp.png</image:loc>
      <image:title>Cos&#x27;è un service provider (SP) nell&#x27;SSO? · Daniele Michelin</image:title>
      <image:caption>Nell&#x27;SSO il service provider è l&#x27;applicazione che si fida dell&#x27;identity provider, per esempio Nextcloud con SAML. Entity ID, URL ACS ed errori comuni.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/single-sign-on/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-sso.png</image:loc>
      <image:title>Cos&#x27;è il single sign-on (SSO)? Spiegazione · Daniele Michelin</image:title>
      <image:caption>Con l&#x27;SSO gli utenti accedono una volta all&#x27;identity provider e raggiungono più applicazioni. Protocolli coinvolti, vantaggi operativi e trappole comuni.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/smtp/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-smtp.png</image:loc>
      <image:title>Cos&#x27;è SMTP? L&#x27;invio delle email spiegato · Daniele Michelin</image:title>
      <image:caption>SMTP è il protocollo con cui i mail server si consegnano le email. Come funziona una sessione, le porte 25, 587 e 465 e come leggere i codici di risposta.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/snapshot-vs-backup/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-snapshot-backup.png</image:loc>
      <image:title>Snapshot o backup? La differenza spiegata · Daniele Michelin</image:title>
      <image:caption>Uno snapshot congela lo stato di un volume, un backup è una copia indipendente conservata altrove. Perché gli snapshot da soli non sono un backup.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/spf/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-spf.png</image:loc>
      <image:title>Cos&#x27;è SPF? Sender Policy Framework spiegato · Daniele Michelin</image:title>
      <image:caption>SPF usa un record TXT per indicare quali server possono inviare posta per un dominio. Sintassi, il limite di 10 lookup DNS e gli errori più comuni.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/starttls/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-starttls.png</image:loc>
      <image:title>Cos&#x27;è STARTTLS? Passare a una connessione cifrata · Daniele Michelin</image:title>
      <image:caption>STARTTLS porta una connessione SMTP, IMAP o POP3 in chiaro su TLS. Come funziona, differenza con il TLS implicito e i suoi punti deboli noti.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/subject-alternative-name/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-san.png</image:loc>
      <image:title>Cos&#x27;è un SAN? Subject Alternative Name · Daniele Michelin</image:title>
      <image:caption>Il Subject Alternative Name elenca tutti gli hostname per cui vale un certificato TLS. Perché il Common Name non conta più e come controllare i SAN.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/submission-porta-587/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-submission.png</image:loc>
      <image:title>Cos&#x27;è la submission? Porta 587, 25 e 465 · Daniele Michelin</image:title>
      <image:caption>La submission è il servizio SMTP usato da client e applicazioni per inviare posta. Differenze tra porta 587, 25 e 465 e perché serve l&#x27;autenticazione.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/tls/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-tls.png</image:loc>
      <image:title>Cos&#x27;è TLS? Transport Layer Security spiegato · Daniele Michelin</image:title>
      <image:caption>TLS cifra connessioni come HTTPS, IMAPS e SMTP e dimostra l&#x27;identità del server con un certificato. L&#x27;handshake, le versioni e gli errori più comuni.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/ttl/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-ttl.png</image:loc>
      <image:title>Cos&#x27;è il TTL nel DNS? Time to live spiegato · Daniele Michelin</image:title>
      <image:caption>Il TTL stabilisce per quanto i resolver tengono in cache un record DNS. Valori sensati, come abbassarlo prima di una migrazione ed equivoci comuni.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/unit-systemd/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-systemd-unit.png</image:loc>
      <image:title>Cos&#x27;è una unit systemd? I file unit spiegati · Daniele Michelin</image:title>
      <image:caption>Una unit systemd descrive un servizio, timer o mount gestito da systemd. Struttura del file unit, override e come trovare gli errori di avvio.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/glossario/webdav/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-g-webdav.png</image:loc>
      <image:title>Cos&#x27;è WebDAV? Accesso ai file via HTTP · Daniele Michelin</image:title>
      <image:caption>WebDAV estende HTTP con metodi per leggere, scrivere e gestire file su un server. Come lo usa Nextcloud, quali client lo supportano ed errori frequenti.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/110/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-110.png</image:loc>
      <image:title>Porta 110: POP3 con STARTTLS · Daniele Michelin</image:title>
      <image:caption>Porta 110 per POP3: scaricare la posta con STARTTLS, perché è meglio la porta 995 con TLS implicito e quando puoi chiudere del tutto la 110.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/11211/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-11211.png</image:loc>
      <image:title>Porta 11211: Memcached solo in locale · Daniele Michelin</image:title>
      <image:caption>Porta 11211 per Memcached: la cache dietro molte app PHP. Perché UDP 11211 è stata sfruttata per DDoS record e come mettere in sicurezza Memcached.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/1194/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-1194.png</image:loc>
      <image:title>Porta 1194: OpenVPN su UDP · Daniele Michelin</image:title>
      <image:caption>Porta 1194 per OpenVPN: di default UDP, con TCP o porta 443 come ripiego. Regole firewall, problemi di MTU e il confronto con WireGuard.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/123/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-123.png</image:loc>
      <image:title>Porta 123: sincronizzazione NTP · Daniele Michelin</image:title>
      <image:caption>Porta 123/UDP per NTP: perché l&#x27;ora esatta conta per TLS, Kerberos e 2FA, se la porta va aperta e come verificare la sincronizzazione su Linux.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/143/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-143.png</image:loc>
      <image:title>Porta 143: IMAP con STARTTLS · Daniele Michelin</image:title>
      <image:caption>Porta 143 per IMAP: accesso alla casella con STARTTLS, differenza con la porta 993 e perché devi bloccare i login in chiaro sulla porta 143.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/20-21/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-20-21.png</image:loc>
      <image:title>Porta 20/21: FTP e i problemi col firewall · Daniele Michelin</image:title>
      <image:caption>La porta 21 è il canale di controllo FTP, la 20 il canale dati in active mode. Perché FTP richiede porte passive e quando conviene passare a SFTP.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/2049/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-2049.png</image:loc>
      <image:title>Porta 2049: condivisioni NFS in LAN · Daniele Michelin</image:title>
      <image:caption>Porta 2049 per NFS: NFSv4 usa solo questa porta, NFSv3 richiede anche rpcbind e mountd. Regole firewall, problemi di permessi e sicurezza.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/22/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-22.png</image:loc>
      <image:title>Porta 22: SSH e SFTP in sicurezza · Daniele Michelin</image:title>
      <image:caption>Porta 22 per SSH e SFTP: cosa gira, come proteggere l&#x27;accesso con chiavi, Fail2ban e filtro IP, e come risolvere i classici errori di login.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/25/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-25.png</image:loc>
      <image:title>Porta 25: SMTP tra server di posta · Daniele Michelin</image:title>
      <image:caption>La porta 25 serve al trasporto della posta tra server (MX), non ai client. Perché i provider bloccano la 25 in uscita e come testare STARTTLS.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/3306/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-3306.png</image:loc>
      <image:title>Porta 3306: MySQL e MariaDB · Daniele Michelin</image:title>
      <image:caption>Porta 3306 per MySQL e MariaDB: perché il database non deve essere pubblico, bind-address, tunnel SSH e gli errori di connessione più comuni.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/3389/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-3389.png</image:loc>
      <image:title>Porta 3389: RDP in sicurezza · Daniele Michelin</image:title>
      <image:caption>Porta 3389 per Desktop remoto (RDP): perché non va mai esposta direttamente su Internet, NLA, VPN o RD Gateway e gli errori di connessione tipici.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/3478/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-3478.png</image:loc>
      <image:title>Porta 3478: STUN/TURN per Nextcloud Talk · Daniele Michelin</image:title>
      <image:caption>Porta 3478 per STUN/TURN con coturn: come funzionano le chiamate di Nextcloud Talk dietro NAT. Firewall, porte relay, external-ip ed errori.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/389/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-389.png</image:loc>
      <image:title>Porta 389: LDAP e StartTLS · Daniele Michelin</image:title>
      <image:caption>Porta 389 per LDAP e Active Directory: accesso alla directory con StartTLS, perché non va mai esposta su Internet ed errori di bind tipici.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/4190/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-4190.png</image:loc>
      <image:title>Porta 4190: ManageSieve per i filtri mail · Daniele Michelin</image:title>
      <image:caption>Porta 4190 per ManageSieve: gestisci filtri lato server e risposte automatiche con Sieve da Roundcube, Thunderbird e Nextcloud Mail.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/443/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-443.png</image:loc>
      <image:title>Porta 443: HTTPS, TLS e HTTP/3 · Daniele Michelin</image:title>
      <image:caption>Porta 443 per HTTPS: TCP per TLS, UDP per HTTP/3 (QUIC). Come verificare catena dei certificati e SNI e risolvere i classici errori TLS.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/465/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-465.png</image:loc>
      <image:title>Porta 465: SMTPS con TLS implicito · Daniele Michelin</image:title>
      <image:caption>Porta 465 per l&#x27;invio di posta con TLS implicito, di nuovo raccomandata dalla RFC 8314. Differenze con la porta 587 ed errori tipici dei client.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/51820/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-51820.png</image:loc>
      <image:title>Porta 51820: VPN WireGuard · Daniele Michelin</image:title>
      <image:caption>Porta 51820/UDP per WireGuard: il ListenPort abituale, perché le scansioni non la vedono e come risolvere problemi di handshake, NAT e MTU.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/53/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-53.png</image:loc>
      <image:title>Porta 53: DNS su UDP e TCP · Daniele Michelin</image:title>
      <image:caption>Porta 53 per il DNS: perché oltre a UDP serve anche TCP, quando può essere pubblica e come i resolver aperti vengono sfruttati per attacchi DDoS.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/5432/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-5432.png</image:loc>
      <image:title>Porta 5432: PostgreSQL in sicurezza · Daniele Michelin</image:title>
      <image:caption>Porta 5432 per PostgreSQL: listen_addresses, pg_hba.conf e perché il database non deve essere pubblico. Come risolvere gli errori di connessione.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/587/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-587.png</image:loc>
      <image:title>Porta 587: SMTP submission con STARTTLS · Daniele Michelin</image:title>
      <image:caption>Porta 587 per l&#x27;invio di posta dai client: submission con STARTTLS e login obbligatorio. Porta 587 o 465? Differenze ed errori più comuni.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/636/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-636.png</image:loc>
      <image:title>Porta 636: LDAPS con TLS implicito · Daniele Michelin</image:title>
      <image:caption>Porta 636 per LDAPS: LDAP su TLS implicito per Nextcloud, posta e Active Directory. Come risolvere i problemi di certificato e limitare l&#x27;accesso.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/6379/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-6379.png</image:loc>
      <image:title>Porta 6379: Redis mai pubblico · Daniele Michelin</image:title>
      <image:caption>Porta 6379 per Redis: perché le istanze Redis aperte vengono compromesse, protected-mode, password, socket Unix e Redis come cache di Nextcloud.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/80/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-80.png</image:loc>
      <image:title>Porta 80: HTTP, redirect e ACME · Daniele Michelin</image:title>
      <image:caption>Porta 80 per HTTP: perché tenerla aperta anche con HTTPS, come la usa la challenge HTTP-01 di Let&#x27;s Encrypt e quali errori di redirect evitare.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/8080/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-8080.png</image:loc>
      <image:title>Porta 8080: porta HTTP alternativa · Daniele Michelin</image:title>
      <image:caption>Porta 8080 come porta HTTP alternativa per proxy, Tomcat, container Docker e backend. Perché non deve essere pubblica e la trappola di Docker.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/8443/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-8443.png</image:loc>
      <image:title>Porta 8443: HTTPS alternativo e Plesk · Daniele Michelin</image:title>
      <image:caption>Porta 8443 come porta HTTPS alternativa: pannello Plesk, Tomcat, UniFi e interfacce admin. Come limitare l&#x27;accesso e risolvere errori TLS.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/853/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-853.png</image:loc>
      <image:title>Porta 853: DNS over TLS (DoT) · Daniele Michelin</image:title>
      <image:caption>Porta 853 per DNS over TLS e DNS over QUIC: query DNS cifrate, DNS privato su Android, regole firewall e differenze rispetto a DNS over HTTPS.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/9000/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-9000.png</image:loc>
      <image:title>Porta 9000: PHP-FPM e FastCGI · Daniele Michelin</image:title>
      <image:caption>Porta 9000 per PHP-FPM: FastCGI tra nginx e PHP, perché una porta 9000 esposta permette l&#x27;esecuzione di codice e come risolvere gli errori 502.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/9090/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-9090.png</image:loc>
      <image:title>Porta 9090: server Prometheus e Cockpit · Daniele Michelin</image:title>
      <image:caption>Porta 9090 per il server Prometheus: interfaccia web e API senza login integrato. Anche Cockpit usa la 9090. Protezione e diagnosi dei target.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/9100/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-9100.png</image:loc>
      <image:title>Porta 9100: Prometheus node_exporter · Daniele Michelin</image:title>
      <image:caption>Porta 9100 per il node_exporter di Prometheus: metriche di sistema per il monitoraggio. Perché la porta va aperta solo al server Prometheus.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/993/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-993.png</image:loc>
      <image:title>Porta 993: IMAPS con TLS implicito · Daniele Michelin</image:title>
      <image:caption>Porta 993 per IMAPS: accesso alla casella con TLS implicito, l&#x27;impostazione raccomandata per i client di posta. Problemi di certificato e login.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/995/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-p-995.png</image:loc>
      <image:title>Porta 995: POP3S con TLS implicito · Daniele Michelin</image:title>
      <image:caption>Porta 995 per POP3S: scaricare la posta con TLS implicito. Quando POP3 ha ancora senso, come proteggere la porta e perché spariscono le mail.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/porte/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/it-hub-ports.png</image:loc>
      <image:title>Porte di rete per admin: elenco con spiegazioni · Daniele Michelin</image:title>
      <image:caption>Le porte TCP/UDP principali per mail, web, DNS, database e VPN: cosa ci gira, se deve essere aperta e come verificarla.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/progetti/acestudio-mac/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/projects/acestudio-mac-it.png</image:loc>
      <image:title>ACE Studio – App macOS per musica AI locale · Daniele Michelin</image:title>
      <image:caption>ACE Studio è un&#x27;interfaccia SwiftUI per un&#x27;installazione locale di ACE-Step 1.5: si descrive una canzone, l&#x27;app scrive testo e stile, pilota il motore e…</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/progetti/ai-receptionist/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/projects/ai-receptionist-it.png</image:loc>
      <image:title>Local AI Receptionist – Receptionist AI telefonico, tutto in locale</image:title>
      <image:caption>Un receptionist AI che risponde al telefono (numero Twilio) o dal browser, prende appuntamenti e parla italiano (con accento milanese) e tedesco.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/progetti/famiglia-os/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/projects/famiglia-os-it.png</image:loc>
      <image:title>FamigliaOS – La casa digitale, self-hosted · Daniele Michelin</image:title>
      <image:caption>FamigliaOS vuole riunire in un unico posto calendario, compiti, pianificazione dei pasti e altro per tutta la famiglia – come app self-hosted in un solo…</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/progetti/jarvis/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/projects/jarvis-it.png</image:loc>
      <image:title>J.A.R.V.I.S. – Assistente AI per macOS, 120+ strumenti</image:title>
      <image:caption>J.A.R.V.I.S. è un assistente AI dall&#x27;aspetto cyberpunk per macOS: backend Python/FastAPI, frontend Vite/TypeScript, input di testo, voce e immagini. Tutti i…</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/progetti/job-hunter/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/projects/job-hunter-it.png</image:loc>
      <image:title>job-hunter – Assistente self-hosted per cercare lavoro</image:title>
      <image:caption>job-hunter trova ogni mattina nuovi annunci, li valuta rispetto al proprio profilo e scrive con l&#x27;AI una breve lettera di presentazione in tedesco.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/progetti/llm-wiki/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/projects/llm-wiki-it.png</image:loc>
      <image:title>LLM-Wiki – RAG sui propri documenti · Daniele Michelin</image:title>
      <image:caption>LLM-Wiki è un sistema RAG per i propri documenti: si fanno domande a testo o a voce e si ottengono risposte supportate dalle fonti da cui provengono.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/it/progetti/zimage-turbo-pipeline/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/projects/zimage-turbo-pipeline-it.png</image:loc>
      <image:title>zimage-turbo-pipeline – pipeline video AI automatica</image:title>
      <image:caption>La pipeline recupera notizie recenti, fa scrivere a Gemini prompt per le immagini e testi, genera immagini, musica e voce narrante e con ffmpeg monta un…</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/110/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-110.png</image:loc>
      <image:title>Port 110: POP3 mit STARTTLS · Daniele Michelin</image:title>
      <image:caption>Port 110 für POP3: Mails abholen mit STARTTLS, warum Port 995 mit implizitem TLS vorzuziehen ist und wann Sie Port 110 ganz schließen können.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/11211/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-11211.png</image:loc>
      <image:title>Port 11211: Memcached nur lokal · Daniele Michelin</image:title>
      <image:caption>Port 11211 für Memcached: der Cache hinter PHP-Apps. Warum UDP 11211 für Rekord-DDoS missbraucht wurde und wie Sie Memcached absichern.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/1194/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-1194.png</image:loc>
      <image:title>Port 1194: OpenVPN über UDP · Daniele Michelin</image:title>
      <image:caption>Port 1194 für OpenVPN: Standard ist UDP, TCP und Port 443 als Ausweichlösung. Firewall-Regeln, MTU-Probleme und der Vergleich mit WireGuard.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/123/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-123.png</image:loc>
      <image:title>Port 123: NTP-Zeitsynchronisation · Daniele Michelin</image:title>
      <image:caption>Port 123/UDP für NTP: warum exakte Zeit für TLS, Kerberos und 2FA zählt, ob der Port offen sein muss und wie Sie die Synchronisation prüfen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/143/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-143.png</image:loc>
      <image:title>Port 143: IMAP mit STARTTLS · Daniele Michelin</image:title>
      <image:caption>Port 143 für IMAP: Postfachzugriff mit STARTTLS, Unterschied zu Port 993, und warum Sie Klartext-Logins auf Port 143 unterbinden sollten.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/20-21/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-20-21.png</image:loc>
      <image:title>Port 20/21: FTP und seine Firewall-Tücken · Daniele Michelin</image:title>
      <image:caption>Port 21 ist der FTP-Steuerkanal, Port 20 der Datenkanal im Active Mode. Warum FTP Passive-Ports braucht und wann SFTP die bessere Wahl ist.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/2049/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-2049.png</image:loc>
      <image:title>Port 2049: NFS-Freigaben im LAN · Daniele Michelin</image:title>
      <image:caption>Port 2049 für NFS: NFSv4 braucht nur diesen Port, NFSv3 zusätzlich rpcbind und mountd. Firewall-Regeln, Rechteprobleme und Sicherheit.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/22/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-22.png</image:loc>
      <image:title>Port 22: SSH und SFTP absichern · Daniele Michelin</image:title>
      <image:caption>Port 22 für SSH und SFTP: Was dort läuft, wie Sie den Zugang mit Schlüsseln, Fail2ban und IP-Filter härten und typische Login-Fehler lösen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/25/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-25.png</image:loc>
      <image:title>Port 25: SMTP zwischen Mailservern · Daniele Michelin</image:title>
      <image:caption>Port 25 ist für den Mailtransport zwischen Servern (MX), nicht für Mailclients. Warum Provider Port 25 sperren und wie Sie STARTTLS testen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/3306/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-3306.png</image:loc>
      <image:title>Port 3306: MySQL und MariaDB · Daniele Michelin</image:title>
      <image:caption>Port 3306 für MySQL und MariaDB: warum die Datenbank nicht öffentlich sein sollte, bind-address, SSH-Tunnel und typische Verbindungsfehler.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/3389/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-3389.png</image:loc>
      <image:title>Port 3389: RDP sicher betreiben · Daniele Michelin</image:title>
      <image:caption>Port 3389 für Remote Desktop (RDP): warum er nie direkt im Internet stehen sollte, NLA, VPN oder RD Gateway und typische Verbindungsfehler.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/3478/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-3478.png</image:loc>
      <image:title>Port 3478: STUN/TURN für Nextcloud Talk · Daniele Michelin</image:title>
      <image:caption>Port 3478 für STUN/TURN mit coturn: so funktionieren Nextcloud Talk Anrufe hinter NAT. Firewall, Relay-Ports, external-ip und typische Fehler.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/389/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-389.png</image:loc>
      <image:title>Port 389: LDAP und StartTLS · Daniele Michelin</image:title>
      <image:caption>Port 389 für LDAP und Active Directory: Verzeichniszugriff mit StartTLS, warum der Port nie ins Internet gehört und typische Bind-Fehler.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/4190/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-4190.png</image:loc>
      <image:title>Port 4190: ManageSieve für Mailfilter · Daniele Michelin</image:title>
      <image:caption>Port 4190 für ManageSieve: serverseitige Mailfilter und Abwesenheitsnotizen per Sieve verwalten, für Roundcube, Thunderbird und Nextcloud Mail.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/443/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-443.png</image:loc>
      <image:title>Port 443: HTTPS, TLS und HTTP/3 · Daniele Michelin</image:title>
      <image:caption>Port 443 für HTTPS: TCP für TLS, UDP für HTTP/3 (QUIC). So prüfen Sie Zertifikatskette und SNI und beheben typische TLS-Fehler am Webserver.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/465/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-465.png</image:loc>
      <image:title>Port 465: SMTPS mit implizitem TLS · Daniele Michelin</image:title>
      <image:caption>Port 465 für den Mailversand mit implizitem TLS: seit RFC 8314 wieder Standard. Unterschied zu Port 587 und typische Einstellungsfehler.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/51820/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-51820.png</image:loc>
      <image:title>Port 51820: WireGuard-VPN einrichten · Daniele Michelin</image:title>
      <image:caption>Port 51820/UDP für WireGuard: der übliche ListenPort, warum Portscans nichts zeigen, und wie Sie Handshake-, NAT- und MTU-Probleme lösen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/53/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-53.png</image:loc>
      <image:title>Port 53: DNS über UDP und TCP · Daniele Michelin</image:title>
      <image:caption>Port 53 für DNS: warum neben UDP auch TCP offen sein muss, wann der Port öffentlich sein darf und wie offene Resolver missbraucht werden.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/5432/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-5432.png</image:loc>
      <image:title>Port 5432: PostgreSQL absichern · Daniele Michelin</image:title>
      <image:caption>Port 5432 für PostgreSQL: listen_addresses, pg_hba.conf und warum die Datenbank nicht öffentlich sein sollte. Typische Verbindungsfehler lösen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/587/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-587.png</image:loc>
      <image:title>Port 587: SMTP-Submission mit STARTTLS · Daniele Michelin</image:title>
      <image:caption>Port 587 für den Mailversand aus Clients: Submission mit STARTTLS und Pflicht-Login. Port 587 oder 465? Unterschiede und typische Fehler.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/636/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-636.png</image:loc>
      <image:title>Port 636: LDAPS mit implizitem TLS · Daniele Michelin</image:title>
      <image:caption>Port 636 für LDAPS: LDAP mit implizitem TLS für Nextcloud, Mail und AD. Zertifikatsprobleme lösen und den Zugriff korrekt einschränken.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/6379/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-6379.png</image:loc>
      <image:title>Port 6379: Redis nie öffentlich · Daniele Michelin</image:title>
      <image:caption>Port 6379 für Redis: warum offene Redis-Instanzen gekapert werden, protected-mode, Passwort, Unix-Socket und Redis als Nextcloud-Cache.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/80/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-80.png</image:loc>
      <image:title>Port 80: HTTP, Redirect und ACME · Daniele Michelin</image:title>
      <image:caption>Port 80 für HTTP: warum er trotz HTTPS offen bleiben sollte, wie Let&#x27;s Encrypt HTTP-01 ihn nutzt und welche Redirect-Fehler typisch sind.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/8080/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-8080.png</image:loc>
      <image:title>Port 8080: alternativer HTTP-Port · Daniele Michelin</image:title>
      <image:caption>Port 8080 als alternativer HTTP-Port für Proxys, Tomcat, Docker-Container und Backends. Warum er nicht öffentlich sein sollte und die Docker-Falle.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/8443/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-8443.png</image:loc>
      <image:title>Port 8443: alternatives HTTPS und Plesk · Daniele Michelin</image:title>
      <image:caption>Port 8443 als alternativer HTTPS-Port: Plesk-Panel, Tomcat, UniFi und Admin-Oberflächen. Wie Sie den Zugriff einschränken und Fehler lösen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/853/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-853.png</image:loc>
      <image:title>Port 853: verschlüsseltes DNS mit DoT · Daniele Michelin</image:title>
      <image:caption>Port 853 für DNS over TLS und DNS over QUIC: verschlüsselte DNS-Anfragen, Android Private DNS, Firewall-Regeln und Unterschiede zu DoH.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/9000/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-9000.png</image:loc>
      <image:title>Port 9000: PHP-FPM und FastCGI · Daniele Michelin</image:title>
      <image:caption>Port 9000 für PHP-FPM: FastCGI zwischen nginx und PHP, warum ein offener Port 9000 Codeausführung erlaubt und wie Sie 502-Fehler beheben.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/9090/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-9090.png</image:loc>
      <image:title>Port 9090: Prometheus-Server und Cockpit · Daniele Michelin</image:title>
      <image:caption>Port 9090 für den Prometheus-Server: Web-UI und API ohne eingebaute Anmeldung. Auch Cockpit nutzt 9090. Absicherung und Fehlersuche.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/9100/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-9100.png</image:loc>
      <image:title>Port 9100: node_exporter für Prometheus · Daniele Michelin</image:title>
      <image:caption>Port 9100 für den Prometheus node_exporter: Systemmetriken für Monitoring. Warum der Port nur für den Prometheus-Server offen sein sollte.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/993/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-993.png</image:loc>
      <image:title>Port 993: IMAPS mit implizitem TLS · Daniele Michelin</image:title>
      <image:caption>Port 993 für IMAPS: Postfachzugriff mit implizitem TLS, die empfohlene Einstellung für Mailclients. Zertifikats- und Login-Probleme lösen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/995/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-p-995.png</image:loc>
      <image:title>Port 995: POP3S mit implizitem TLS · Daniele Michelin</image:title>
      <image:caption>Port 995 für POP3S: Mails mit implizitem TLS abholen. Wann POP3 noch sinnvoll ist, wie Sie den Port absichern und warum Mails verschwinden.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/ports/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-hub-ports.png</image:loc>
      <image:title>Netzwerk-Ports für Admins: Liste mit Erklärung · Daniele Michelin</image:title>
      <image:caption>Die wichtigsten TCP/UDP-Ports für Mail, Web, DNS, Datenbanken und VPN: was darauf läuft, ob er offen sein sollte und wie man ihn prüft.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/projekte/acestudio-mac/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/projects/acestudio-mac-de.png</image:loc>
      <image:title>ACE Studio – Native macOS-App für lokale KI-Musik</image:title>
      <image:caption>ACE Studio ist eine SwiftUI-Oberfläche für eine lokale ACE-Step-1.5-Installation: Man beschreibt einen Song, die App schreibt Text und Stil, steuert die…</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/projekte/ai-receptionist/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/projects/ai-receptionist-de.png</image:loc>
      <image:title>Local AI Receptionist – KI-Telefon-Receptionist, komplett lokal</image:title>
      <image:caption>Ein KI-Receptionist, der ans Telefon geht (Twilio-Nummer) oder im Browser antwortet, Termine vereinbart und Italienisch (mit Mailänder Akzent) und Deutsch…</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/projekte/famiglia-os/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/projects/famiglia-os-de.png</image:loc>
      <image:title>FamigliaOS – Das digitale Zuhause, self-hosted</image:title>
      <image:caption>FamigliaOS soll Kalender, Aufgaben, Essensplanung und mehr für die ganze Familie an einem Ort bündeln – als selbst gehostete App in einem einzigen Container.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/projekte/jarvis/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/projects/jarvis-de.png</image:loc>
      <image:title>J.A.R.V.I.S. – KI-Assistent für macOS mit 120+ Tools</image:title>
      <image:caption>J.A.R.V.I.S. ist ein KI-Assistent im Cyberpunk-Look für macOS: Python/FastAPI-Backend, Vite/TypeScript-Frontend, Eingabe per Text, Sprache und Bild. Alle…</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/projekte/job-hunter/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/projects/job-hunter-de.png</image:loc>
      <image:title>job-hunter – Self-hosted Jobsuche-Assistent · Daniele Michelin</image:title>
      <image:caption>job-hunter sucht jeden Morgen neue Stellen, bewertet sie anhand des eigenen Profils und schreibt mit KI ein kurzes deutsches Anschreiben.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/projekte/llm-wiki/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/projects/llm-wiki-de.png</image:loc>
      <image:title>LLM-Wiki – RAG-System für eigene Dokumente · Daniele Michelin</image:title>
      <image:caption>LLM-Wiki ist ein RAG-System für eigene Dokumente: Man stellt Fragen per Text oder Sprache und bekommt Antworten, die jeweils mit den verwendeten Quellen…</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/projekte/zimage-turbo-pipeline/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/projects/zimage-turbo-pipeline-de.png</image:loc>
      <image:title>zimage-turbo-pipeline – automatische KI-Video-Pipeline</image:title>
      <image:caption>Die Pipeline holt aktuelle Nachrichten, lässt Gemini Bild-Prompts und Texte schreiben, erzeugt Bilder, Musik und Sprecherstimme und setzt daraus mit ffmpeg…</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/spickzettel/dig-befehle/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-c-dig.png</image:loc>
      <image:title>dig Befehle – DNS Cheat Sheet für die Praxis · Daniele Michelin</image:title>
      <image:caption>dig Befehle für DNS-Diagnose: A, MX, TXT, CAA, +short, +trace, Reverse Lookup, DNSSEC, SPF/DKIM/DMARC prüfen und autoritative Nameserver abfragen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/spickzettel/docker-befehle/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-c-docker.png</image:loc>
      <image:title>Docker Befehle – Cheat Sheet für Admins · Daniele Michelin</image:title>
      <image:caption>Die wichtigsten Docker Befehle: Images, Container, Logs, exec, Volumes, Netzwerke, Compose, aufräumen mit prune und Ressourcen-Limits.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/spickzettel/git-befehle/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-c-git.png</image:loc>
      <image:title>Git Befehle – Cheat Sheet für Alltag &amp; Rettung · Daniele Michelin</image:title>
      <image:caption>Die wichtigsten Git Befehle: Status, Log, Stash, Rebase, Reflog-Rettung, Undo-Varianten, Remotes und Bisect für den Alltag.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/spickzettel/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-hub-cheats.png</image:loc>
      <image:title>Spickzettel für Admins: nginx, Docker, Git, systemd u. a.</image:title>
      <image:caption>Durchsuchbare Befehlsübersichten für Nextcloud occ, dig, journalctl, openssl, nginx, systemctl, Docker und Git — mit Kopier-Knopf und Hinweisen auf riskante Befehle.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/spickzettel/journalctl-befehle/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-c-journalctl.png</image:loc>
      <image:title>journalctl Befehle – Cheat Sheet für Linux · Daniele Michelin</image:title>
      <image:caption>journalctl Befehle für die Fehlersuche: Logs nach Unit, Boot, Zeit und Priorität filtern, live folgen, JSON-Ausgabe und Journal-Größe begrenzen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/spickzettel/nextcloud-occ-befehle/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-c-occ.png</image:loc>
      <image:title>Nextcloud occ Befehle – Cheat Sheet für Admins · Daniele Michelin</image:title>
      <image:caption>Die wichtigsten Nextcloud occ Befehle für Admins: Wartungsmodus, files:scan, Benutzer, Apps, Datenbank-Indizes, Cron, Papierkorb und 2FA.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/spickzettel/nginx-befehle/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-c-nginx.png</image:loc>
      <image:title>nginx Befehle – Cheat Sheet für Admins · Daniele Michelin</image:title>
      <image:caption>Die wichtigsten nginx Befehle für Admins: Konfig testen, Reload, Logs, Redirects, proxy_pass, Rate Limiting, gzip und Fehlersuche im Betrieb.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/spickzettel/openssl-befehle/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-c-openssl.png</image:loc>
      <image:title>OpenSSL Befehle – Cheat Sheet für TLS &amp; Zertifikate · Daniele Michelin</image:title>
      <image:caption>OpenSSL Befehle für TLS-Diagnose: Zertifikatskette und Ablauf prüfen, CSR erstellen, Key/Zertifikat abgleichen, PEM/DER/PFX umwandeln, STARTTLS.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/spickzettel/systemctl-befehle/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-c-systemctl.png</image:loc>
      <image:title>systemctl Befehle – systemd Cheat Sheet · Daniele Michelin</image:title>
      <image:caption>Die wichtigsten systemctl Befehle: Status, start, restart, enable, Timer, Drop-in-Overrides, systemd-analyze und Targets für Admins.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/vergleich/http-01-vs-dns-01/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-v-http-01-vs-dns-01.png</image:loc>
      <image:title>Let&#x27;s Encrypt: HTTP-01 vs. DNS-01 · Daniele Michelin</image:title>
      <image:caption>HTTP-01 oder DNS-01 Challenge für Let&#x27;s Encrypt? Wildcards, interne Hosts, Port 80, DNS-API-Zugang und typische Fehler bei der Validierung im Vergleich.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/vergleich/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-hub-compare.png</image:loc>
      <image:title>Technik-Vergleiche für Admins: SAML, Nextcloud, DNS · Daniele Michelin</image:title>
      <image:caption>Ehrliche Vergleiche aus dem Betrieb: SAML oder OIDC, Nextcloud oder Seafile, HTTP-01 oder DNS-01, cron oder systemd-Timer — wann welche Lösung passt.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/vergleich/nextcloud-aio-vs-manuelle-installation/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-v-nextcloud-aio-vs-manual.png</image:loc>
      <image:title>Nextcloud AIO vs. manuelle Installation · Daniele Michelin</image:title>
      <image:caption>Nextcloud All-in-One oder klassisch mit Webserver, PHP-FPM und Datenbank? Aufwand, Kontrolle, Updates, Backup und Fehlersuche ehrlich verglichen.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/vergleich/nextcloud-s3-vs-nfs/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-v-s3-vs-nfs-nextcloud.png</image:loc>
      <image:title>Nextcloud: S3 vs. NFS als Primärspeicher · Daniele Michelin</image:title>
      <image:caption>S3-Objektspeicher oder NFS bzw. Block Storage als Nextcloud-Primärspeicher? Datenformat, Skalierung, Backup, Migration und Fallstricke aus dem Betrieb.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/vergleich/nextcloud-vs-seafile/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-v-nextcloud-vs-seafile.png</image:loc>
      <image:title>Nextcloud vs. Seafile: Vergleich · Daniele Michelin</image:title>
      <image:caption>Nextcloud oder Seafile selbst hosten? Speicherformat, Sync, Funktionsumfang, Updates und Backup im Vergleich – nüchtern aus der Sicht des Betriebs.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/vergleich/nginx-vs-apache-php-fpm/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-v-nginx-vs-apache-php.png</image:loc>
      <image:title>nginx vs. Apache für PHP-Apps · Daniele Michelin</image:title>
      <image:caption>nginx oder Apache vor PHP-FPM? .htaccess, Konfiguration, Upload-Limits, Timeouts und Fehlersuche für Nextcloud, WordPress und andere PHP-Apps.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/vergleich/saml-vs-oidc/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-v-saml-vs-oidc.png</image:loc>
      <image:title>SAML vs. OIDC: Was passt wann? · Daniele Michelin</image:title>
      <image:caption>SAML oder OpenID Connect für Single Sign-on? Unterschiede bei Protokoll, Clients, Zertifikaten und Fehlersuche, aus dem Betrieb mit Nextcloud und Keycloak.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/vergleich/spf-dkim-dmarc-unterschied/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-v-spf-dkim-dmarc.png</image:loc>
      <image:title>SPF vs. DKIM vs. DMARC: Vergleichstabelle · Daniele Michelin</image:title>
      <image:caption>Was SPF, DKIM und DMARC jeweils prüfen, wo sie versagen und warum Sie alle drei brauchen. Mit Alignment, Weiterleitungen und typischen Fehlern.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://daniele-michelin.com/vergleich/systemd-timer-vs-cron/</loc>
    <image:image>
      <image:loc>https://daniele-michelin.com/assets/og/kb/de-v-systemd-timer-vs-cron.png</image:loc>
      <image:title>systemd-Timer vs. Cron: Vergleich · Daniele Michelin</image:title>
      <image:caption>systemd-Timer oder Cron für geplante Aufgaben? Logging, verpasste Läufe, Überlappung, Umgebung und Aufwand im Vergleich, mit Beispielen aus dem Alltag.</image:caption>
    </image:image>
  </url>
</urlset>
