<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[FAQ: SSL, DNS/IP preflight, backup & restore]]></title><description><![CDATA[<p dir="auto">Frequently asked questions about SSL and the DNS/IP preflight. Post new questions in this category.</p>
<h2>Why does <code>wpfy site ssl</code> fail with "DNS does not match public IP"?</h2>
<p dir="auto">wpfy refuses to request a Let's Encrypt certificate unless the domain's DNS A (and AAAA) records resolve to your server's public IP. This prevents failed ACME challenges and accidental certificate issuance for a domain you don't control.</p>
<p dir="auto"><strong>Fix:</strong></p>
<ol>
<li>Check DNS: <code>dig +short example.com</code></li>
<li>Check your public IP: <code>curl -s ifconfig.me</code></li>
<li>They must match. Update DNS at your registrar and wait for propagation.</li>
</ol>
<h2>What does the preflight actually check?</h2>
<p dir="auto"><code>preflight_ssl()</code> compares the domain's resolved A/AAAA records against the server's detected public IPs. Only when they match does wpfy proceed to ACME issuance. See <a href="https://docs.wpfy.org/reference/ssl-flow" rel="nofollow ugc">SSL Flow</a>.</p>
<h2>Can I test SSL without real DNS?</h2>
<p dir="auto">Yes, offline:</p>
<pre><code class="language-bash">WPFY_TEST_DNS_IPS=1.2.3.4 WPFY_TEST_PUBLIC_IPS=1.2.3.4 wpfy site ssl example.com -le
</code></pre>
<p dir="auto">This fakes a DNS/IP match so the preflight passes. Do <strong>not</strong> use this in production — it bypasses the safety check.</p>
<h2>I enabled SSL. Now my site redirects oddly.</h2>
<p dir="auto">Enabling SSL updates WordPress <code>home</code> and <code>siteurl</code> to <code>https://&lt;domain&gt;</code> after the runtime restarts. If redirects fall back to HTTP, run <code>wpfy site status example.com</code> to confirm the runtime restarted, then clear WordPress/object cache. See <a href="https://docs.wpfy.org/site-commands/site-ssl" rel="nofollow ugc">Site SSL</a>.</p>
<h2>How do I force HTTPS?</h2>
<p dir="auto">Traefik handles the redirect once the SSL router is active. You don't need a separate plugin. If a site was created without <code>-le</code>, enable SSL:</p>
<pre><code class="language-bash">wpfy site ssl example.com -le
</code></pre>
<h2>Backups and restore</h2>
<ul>
<li><code>wpfy site backup example.com</code> — timestamped tarball to <code>/var/lib/wpfy/backups/</code></li>
<li><code>wpfy site restore example.com &lt;backup&gt;.tar.gz</code> — restore files and database</li>
</ul>
<p dir="auto">Backups are never world-readable. Never restore one site's secrets into another. See <a href="https://docs.wpfy.org/site-commands/site-backup" rel="nofollow ugc">Site Backup</a> and <a href="https://docs.wpfy.org/site-commands/site-restore" rel="nofollow ugc">Site Restore</a>.</p>
]]></description><link>https://forum.wpfy.org/topic/6/faq-ssl-dns-ip-preflight-backup-restore</link><generator>RSS for Node</generator><lastBuildDate>Fri, 21 Aug 2026 16:49:31 GMT</lastBuildDate><atom:link href="https://forum.wpfy.org/topic/6.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 25 Jun 2026 02:46:03 GMT</pubDate><ttl>60</ttl></channel></rss>