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/httpcsomag segítségével saját reverse proxy-t lehet készíteni, például ahttputil.ReverseProxyhaszná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)
}