Sobes.tech
Middle+

Ce este un reverse proxy și ce se folosește de obicei pentru implementarea sa?

sobes.tech AI

Răspuns de la AI

Un proxy invers este un server care primește solicitări de la clienți și le redirecționează către unul sau mai mulți serveri interni. El ascunde structura internă a rețelei, echilibrează sarcina, cachează răspunsurile și asigură securitatea.

Pentru implementarea unui proxy invers, se folosesc adesea:

  • Nginx — un server web popular cu capacități puternice de proxy și echilibrare a încărcării.
  • HAProxy — un echilibrator de sarcină și proxy specializat.
  • În Go, se poate folosi pachetul net/http pentru a crea propriul proxy invers, de exemplu, prin httputil.ReverseProxy.

Exemplu de proxy invers simplu în Go:

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)
}