# A reverse proxy written in Clojure

**URL:** https://clojureverse.org/t/a-reverse-proxy-written-in-clojure/9172
**Category:** How to?
**Created:** [July 30, 2022, 2:37pm UTC](https://clojureverse.org/t/a-reverse-proxy-written-in-clojure/9172 "2022-07-30T14:37:53Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![maxweber](https://clojureverse.org/user_avatar/clojureverse.org/maxweber/32/2271_2.png) [@maxweber](https://clojureverse.org/u/maxweber)
#### Post date: [July 30, 2022, 2:37pm UTC](https://clojureverse.org/t/a-reverse-proxy-written-in-clojure/9172/1 "2022-07-30T14:37:53Z")

</div>

I found this beautiful thing yesterday:

> **[GitHub - maxcountryman/hyperlight: A performance-focused HTTP reverse proxy](https://github.com/maxcountryman/hyperlight)**
>
> A performance-focused HTTP reverse proxy. Contribute to maxcountryman/hyperlight development by creating an account on GitHub.

I tried it out, and it works like a charm.

**The idea:** use it instead of Nginx or EnvoyProxy to do traffic management, like canary deployments (send 98% of the traffic to the old version and 2% to the new version).

What could go wrong? 😅

Writing Nginx config files always seems like magic to me, and more advanced traffic management is only available in the paid version (like cookie-based routing: [Performing A/B Testing with NGINX and NGINX Plus - NGINX](https://www.nginx.com/blog/performing-a-b-testing-nginx-plus/)).

Adding a service mesh to our Google Cloud Kubernetes Engine seems like total overkill. It took me half a day to understand that I should use [Traffic Director](https://cloud.google.com/traffic-director) for it. Although I’m used to the complexity of Google Cloud, the [Traffic Director setup](https://cloud.google.com/traffic-director/docs/set-up-gke-pods-auto) is insane.

[nginx-clojure](https://nginx-clojure.github.io/quickstart.html) seems also to be an option. I’m grateful for any words of advice 🙂

---

<div class="post-metadata">

### Author: ![system](https://clojureverse.org/uploads/default/original/2X/5/51079bf9e4b7d9466242c06cf1e43b9f8bd6da14.png) [@system](https://clojureverse.org/u/system)
#### Post date: [January 29, 2023, 2:38am UTC](https://clojureverse.org/t/a-reverse-proxy-written-in-clojure/9172/2 "2023-01-29T02:38:04Z")

</div>

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.
