Elena Rossini<p><a href="https://elenarossini.com/2025/07/my-adventures-in-self-hosting-day-211-cdn-edition/" class="" rel="nofollow noopener" target="_blank">https://elenarossini.com/2025/07/my-adventures-in-self-hosting-day-211-cdn-edition/</a></p><p>My dear federated WordPress blog,</p><p>Sorry for all the tests I put you through in the last 48 hours.</p><p>First, I changed your <a href="https://wordpress.org/plugins/webfinger/" rel="nofollow noopener" target="_blank">Webfinger setup</a>, which broke federation. Then I reverted back those changes… I posted a <a href="https://elenarossini.com/2025/07/testing/" rel="nofollow noopener" target="_blank">test message that immediately federated</a> (yay) but when I replied to it from my Mastodon account, I set off the infamous Mastodon stampede: 5000+ requests in the span of seconds, which took you offline (ouch). I had to delete my reply on Mastodon, flush your cache, and you were back online (yay).</p><p>Ever since, I have been on a mission to safeguard you against the <a href="https://news.itsfoss.com/mastodon-link-problem/" rel="nofollow noopener" target="_blank">Mastodon Hug of Death</a> – a very familiar phenomenon that I experienced with my self-hosted Ghost blog. </p><p>The solution I found for it (on <a href="https://news.elenarossini.com" rel="nofollow noopener" target="_blank">Ghost</a>) was installing <a href="https://varnish-cache.org/docs/3.0/tutorial/introduction.html" rel="nofollow noopener" target="_blank">Varnish Cache</a>. And my oh my has it been effective! A real champion, even at times when my blog posts trended all day on Mastodon (like the one announcing the release of my <a href="https://news.elenarossini.com/fediverse-video/" rel="nofollow noopener" target="_blank">Fediverse promo video</a>).</p><p>But I’m digressing.</p><p>My dear WordPress blog, you need protection against sudden surges of traffic brought on by the Fediverse.</p><p>This morning, I tried it all:</p><ol><li>My plan A was setting up <a href="https://www.cloudflare.com" rel="nofollow noopener" target="_blank">Cloudflare</a> for you. I am SO GLAD that didn’t work out, though, because in the past year I have developed a real distaste for all things Big Tech and I couldn’t really reconcile using Cloudflare as your Content Delivery Network. Why this didn’t work out? It’s a very convoluted explanation… it had to do with DNS records and the way it’s set up. Basically if I manually connected Cloudflare to some DNS records for elenarossini.com, this association would take over ALL DNS records from the POV of my hosting provider, including subdomains… even if I didn’t add them. And I have LOTS of subdomains linked to self-hosted instances for Fediverse software and did not want to do that. I’m probably explaining things badly, but suffice it to say, it wasn’t ideal to tinker with DNS for a variety of reasons. Moving on.</li><li>My plan B was exploring how to set up <a href="https://varnish-cache.org/docs/3.0/tutorial/introduction.html" rel="nofollow noopener" target="_blank">Varnish cache</a> for this website by using shell access. That, unfortunately, is impossible: Varnish needs Nginx or Apache and on a shared hosting plan you simply cannot tinker with that stuff. What to do?</li><li>My plan C was setting up <a href="https://bunny.net" rel="nofollow noopener" target="_blank">BunnyCDN</a> for this site. I first heard about it via the superb website <a href="https://european-alternatives.eu/category/cdn-content-delivery-network" rel="nofollow noopener" target="_blank">European Alternatives</a> (basically, a database of alternatives to Big Tech platforms and services from the US). Bunny is based in Slovenia and I heard praises of it. Now, I had tried to use it for Ghost earlier this spring, but never managed to complete its setup, and opted for Varnish instead. I decided to give it another go. Guess what? Bunny didn’t ask me for DNS records – its setup was easy and instantaneous, with its native <a href="https://wordpress.org/plugins/bunnycdn/" rel="nofollow noopener" target="_blank">WordPress plugin</a>. I connected it to my Bunny account and was good to go – no tinkering with DNS.</li></ol><p>I have double-checked in Developer mode that this site’s images are already going through Bunny. All good!</p><p>Disclaimer: unlike Cloudflare, Bunny doesn’t offer a free plan, so I will need to monitor costs. But I’m curious to see how it will do and how much it will cost on a monthly basis. Of course, I will report back about this (at the moment I have $50 in free credits).</p><p>Now the real test will be hitting “publish” on this blog post… and replying to the federated post with my Mastodon account. This simple action took my site offline yesterday.</p><p>If the site doesn’t go offline, I would up the ante and actually share the link to this blog post from my Mastodon account (to an audience of 8000+ people on hundreds of different servers).</p><p>Wish me luck!!!</p><p>Elena</p><p></p><p><a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://elenarossini.com/tag/bunnycdn/" target="_blank">#BunnyCDN</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://elenarossini.com/tag/cdn/" target="_blank">#CDN</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://elenarossini.com/tag/cloudflare/" target="_blank">#Cloudflare</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://elenarossini.com/tag/micro/" target="_blank">#micro</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://elenarossini.com/tag/my-adventures-in-self-hosting/" target="_blank">#myAdventuresInSelfHosting</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://elenarossini.com/tag/my-so-called-sudo-life/" target="_blank">#mySoCalledSudoLife</a></p>