<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Rewrite Rules - Tag - Lorenzo's Blog</title><link>https://www.k8s.it/tags/rewrite-rules/</link><description>Rewrite Rules - Tag - Lorenzo's Blog</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Tue, 11 Aug 2020 00:00:00 +0000</lastBuildDate><atom:link href="https://www.k8s.it/tags/rewrite-rules/" rel="self" type="application/rss+xml"/><item><title>Kubernetes Apache HTTPD — The Front Controller Pattern</title><link>https://www.k8s.it/posts/kubernetes-apacherr/</link><pubDate>Tue, 11 Aug 2020 00:00:00 +0000</pubDate><author>Lorenzo Girardi</author><guid>https://www.k8s.it/posts/kubernetes-apacherr/</guid><description><![CDATA[<div class="featured-image">
                <img src="/images/kubernetes-apacherr/front-controller.png" referrerpolicy="no-referrer">
            </div><h2 id="the-semi-unuseful-apache-implementation-in-kubernetes">The Semi-Unuseful Apache Implementation in Kubernetes</h2>
<p>When you have Ingress resources, Ambassador, Nginx, Traefik, and service meshes — why would you put Apache HTTPD in a Kubernetes pod?</p>
<p>Because sometimes the routing logic isn&rsquo;t ops&rsquo; problem. It&rsquo;s a product problem.</p>
<h2 id="digression">Digression</h2>
<p>Complex e-commerce sites serve multiple microservices under one domain. <code>www.example.com</code> might route like this:</p>
<ul>
<li><code>/it/</code> and <code>/it/offerte</code> → CMS</li>
<li><code>/uk/</code> and <code>/uk/offers</code> → CMS</li>
<li><code>/it/clienti/</code> → customer-app</li>
<li><code>/uk/customers/</code> → customers-app</li>
<li><code>/secure/</code> → payment-app</li>
</ul>
<p>And then there are third-party domain acquisitions that need redirects. And A/B test variants. And country-specific promotional paths that change weekly.</p>]]></description></item></channel></rss>