# Web Servers & Reverse Proxies: Apache, Nginx, HAProxy, Traefik and more !!! info "Architectural Context" Detailed reference for Web Servers & Reverse Proxies: Apache, Nginx, HAProxy, Traefik and more in the context of Networking & Service Mesh. ## Standard Reference - [nginx.com: The Complete NGINX Cookbook 🌟](https://www.f5.com/products/nginx/resources/library/complete-nginx-cookbook) [COMMUNITY-TOOL] - [Koa.js](https://koa) [COMMUNITY-TOOL] - [nixCraft: 9 Awesome Open Source Web Performance Software For Linux and Unix-like' Systems](https://www.cyberciti.biz/open-source/http-web-performance-proxy-load-balancer-accelerator-software) [COMMUNITY-TOOL] - [Dzone Refcard: Essential Apache HTTP Server](https://dzone.com/refcardz/essential-apache-http-server) [COMMUNITY-TOOL] - [nixCraft: How to secure Apache with Let’s Encrypt Certificates on RHEL 8](https://www.cyberciti.biz/faq/how-to-secure-apache-with-lets-encrypt-certificates-on-rhel-8) [COMMUNITY-TOOL] - [Dzone: Nginx Reverse Proxy Ubuntu 18.04](https://dzone.com/articles/nginx-reverse-proxy-ubuntu-1804) [COMMUNITY-TOOL] - [How To Use the Official NGINX Docker Image](https://www.docker.com/blog/how-to-use-the-official-nginx-docker-image) [COMMUNITY-TOOL] - [medium: Using Nginx-Ingress as a Static Cache for Assets Inside Kubernetes](https://medium.com/@vdboor/using-nginx-ingress-as-a-static-cache-91bc27be04a1) [COMMUNITY-TOOL] - [Wikipedia: HAProxy](https://en.wikipedia.org/wiki/HAProxy) [COMMUNITY-TOOL] - [dzone.com: How to Configure HAProxy as a Proxy and Load Balancer](https://dzone.com/articles/how-to-configure-ha-proxy-as-a-proxy-and-loadbalan) [COMMUNITY-TOOL] - [High priority request queue with HAProxy](https://medium.com/swlh/high-priority-request-queue-with-haproxy-9efd639a8992) [COMMUNITY-TOOL] - [medium.com/beyn-technology: Is Nginx dead? Is Traefik v3 20% faster than' Traefik v2?](https://medium.com/beyn-technology/is-nginx-dead-is-traefik-v3-20-faster-than-traefik-v2-f28ffb7eed3e) [COMMUNITY-TOOL] ## Networking ### Fundamentals #### Load Balancing - [opensource.com: A beginner's guide to load balancing](https://opensource.com/article/21/4/load-balancing) [COMMUNITY-TOOL] β€” A high-level introductory guide to load balancing strategies. It explains the differences between Layer 4 (TCP) and Layer 7 (HTTP) routing algorithms, making it a useful primer for developers designing multi-region architectures. ### Ingress #### Skipper ##### HTTP Routing - [opensource.com: Try this Kubernetes HTTP router and reverse proxy](https://opensource.com/article/20/4/http-kubernetes-skipper) [ADVANCED LEVEL] [COMMUNITY-TOOL] β€” An introduction to Skipper, an open-source HTTP router created by Zalando. Explores its use case as a highly customizable Kubernetes ingress controller with extensive routing filters tailored for large-scale production architectures. #### Traefik ##### Istio Integration - [thenewstack.io: Using Traefik Ingress Controller with Istio Service Mesh](https://thenewstack.io/using-traefik-ingress-controller-with-istio-service-mesh) [ADVANCED LEVEL] [ENTERPRISE-STABLE] β€” A valuable integration guide demonstrating how to use Traefik as the external edge ingress router while leveraging Istio's internal service mesh to govern east-west traffic patterns and microservices telemetry. ##### Kubernetes Ingress - [opensource.com: Directing Kubernetes traffic with Traefik](https://opensource.com/article/20/3/kubernetes-traefik) [COMMUNITY-TOOL] β€” An introductory article explaining how to set up Traefik as an Ingress Controller in Kubernetes. It focuses on setting up path-based routing rules and using labels to automate routing table updates. ##### Kustomize Deployments - [blog.tomarrell.com: Kustomize: Traefik v2.2 as a Kubernetes Ingress Controller](https://blog.tomarrell.com/post/traefik_v2_on_kubernetes) [LEGACY] β€” An operations blog outlining Traefik v2.2 deployment using Kustomize overlays. Although the specific Traefik CRD API versions are legacy, the architectural structure of managing ingress with Kustomize remains highly educational. - **(2026)** [==Traefik==](http://traefik.io) 🌟🌟🌟🌟🌟 [DE FACTO STANDARD] β€” Traefik is a modern cloud-native HTTP reverse proxy and ingress controller designed to automatically discover backend services from platforms like Kubernetes, Docker, and Consul. Its auto-configuration feature and native support for Let's Encrypt certificates simplify cluster operations. ### Load Balancing (1) #### HAProxy ##### Implementation - [tecmint.com: How to Setup High-Availability Load Balancer with β€˜HAProxy’' to Control Web Server Traffic](https://www.tecmint.com/install-haproxy-load-balancer-in-linux) [COMMUNITY-TOOL] [GUIDE] β€” A detailed linux-level guide for implementing HAProxy from scratch. Guides the platform engineer through initial package deployment, configuration mapping, backend health checking, and metric page exposure. ##### Nginx Integration - [Tecmint.com: How to Setup HAProxy as Load Balancer for Nginx on CentOS 8](https://www.tecmint.com/setup-nginx-haproxy-load-balancer-in-centos-8) [COMMUNITY-TOOL] [GUIDE] β€” A configuration-focused tutorial detailing how to chain HAProxy as a frontend load balancer in front of an Nginx web tier on CentOS 8. Note: CentOS 8 is end-of-life, meaning parts of this OS guide must be updated, but the routing concepts remain sound. - **(2026)** [==haproxy.org==](http://www.haproxy.org) [ADVANCED LEVEL] 🌟🌟🌟🌟🌟 [DE FACTO STANDARD] β€” The official site for HAProxy, the high-performance TCP/HTTP load balancer. Renowned for its extreme efficiency and microsecond-level latency control, HAProxy is an industry standard for routing massive amounts of concurrent web traffic. ### Reverse Proxy #### Apache HTTPD ##### Jenkins Integration - **(2021)** [Apache Reverse Proxy for Jenkins](https://github.com/nubenetes/apache-reverse-proxy-jenkins) ⭐ 1 🌟 [LEGACY] β€” A historical configuration repository demonstrating how to put Apache behind a Jenkins installation. Due to more than 4 years of inactivity and minimal community adoption, this project is deprioritized and kept primarily as a legacy configuration sample. ### Web Servers #### Apache HTTPD (1) ##### Reverse Proxy (1) - [Apache Reverse Proxy Guide](https://httpd.apache.org/docs/2.4/howto/reverse_proxy.html) [DOCUMENTATION] [ENTERPRISE-STABLE] β€” The official configuration guide for setting up Apache as a reverse proxy using `mod_proxy`. Delivers production-grade recommendations for managing connection pools, configuring SSL offloading, and tuning load-balancing headers. - [Apache](https://httpd.apache.org) [DE FACTO STANDARD] [LEGACY] β€” The home page for Apache HTTPD, the foundational open-source web server of the internet. While newer microservices architectures typically leverage Nginx or Envoy, Apache remains highly relevant for legacy proxy configurations and traditional web hosting setups. #### Nginx ##### Configuration Generators - [NGINXConfig](https://www.digitalocean.com/community/tools/nginx) [DE FACTO STANDARD] β€” DigitalOcean's visual configuration tool for Nginx. It generates highly secure, production-tested server blocks tailored for modern features like HTTP/2, custom security headers, SSL/TLS optimizations via Let's Encrypt, and Gzip compression. ##### Guides - [freecodecamp.org: The NGINX Handbook 🌟](https://www.freecodecamp.org/news/the-nginx-handbook) [GUIDE] [ENTERPRISE-STABLE] [GUIDE] β€” An extensive manual explaining the underlying mechanics of Nginx. Covers everything from server blocks and upstream definitions to proxy routing rules, security hardening, and cache configuration optimization. ##### Interactive Playgrounds - [jvns.ca: New tool: an nginx playground](https://jvns.ca/blog/2021/09/24/new-tool--an-nginx-playground) [COMMUNITY-TOOL] β€” An introductory blog post by Julia Evans launching an interactive Nginx configuration playground. It explains the core configuration blocks and how the visual playground simplifies debugging path matches and header rewrites. - [nginx-playground.wizardzines.com 🌟](https://nginx-playground.wizardzines.com) [ENTERPRISE-STABLE] β€” The web-based visual Nginx sandbox environment created by Wizard Zines. It provides immediate graphical feedback on how routing, header injections, and rewrite directives behave without requiring a local Nginx daemon installation. #### Nginx Unit ##### Application Server - [unit.nginx.org](https://unit.nginx.org) [ADVANCED LEVEL] [ENTERPRISE-STABLE] β€” Nginx Unit is a dynamic, polyglot application server engineered to run application code across multiple runtimes (Go, Python, Node.js, PHP) simultaneously. It is entirely controlled via a declarative JSON-based REST API, making it well-suited for container-centric microservices. --- πŸ’‘ **Explore Related:** [Kubernetes Networking](./kubernetes-networking.md) | [Servicemesh](./servicemesh.md) | [Networking](./networking.md)