Sobes.tech
Middle+

Mi az a reverse proxy, és általában mit használnak a megvalósításához?

sobes.tech MI

Válasz az MI-től

A reverse proxy egy szerver, amely fogadja a kliensektől érkező kéréseket, és átirányítja azokat egy vagy több belső szerverhez. Elrejti a hálózat belső szerkezetét, kiegyensúlyozza a terhelést, cache-eli a válaszokat, és biztosítja a biztonságot.

A reverse proxy megvalósításához gyakran használnak:

  • Nginx — egy népszerű webszerver, erős proxy és terheléselosztási képességekkel.
  • HAProxy — egy specializált terheléselosztó és proxy.
  • Go nyelven a net/http csomag segítségével saját reverse proxy-t lehet készíteni, például a httputil.ReverseProxy használatával.

Egyszerű reverse proxy példája Go nyelven:

package main

import (
    "net/http"
    "net/http/httputil"
    "net/url"
)

func main() {
    target, _ := url.Parse("http://localhost:8080")
    proxy := httputil.NewSingleHostReverseProxy(target)

    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        proxy.ServeHTTP(w, r)
    })

    http.ListenAndServe(":9090", nil)
}