Middle+
Čo je reverzný proxy a čo sa zvyčajne používa na jeho implementáciu?
sobes.tech AI
Odpoveď od AI
Reverzný proxy je server, ktorý prijíma požiadavky od klientov a ich presmerováva na jeden alebo viac interných serverov. Skrýva vnútornú štruktúru siete, vyvažuje záťaž, cache-uje odpovede a zabezpečuje bezpečnosť.
Na implementáciu reverzného proxy sa často používajú:
- Nginx — populárny webový server s výkonnými možnosťami proxy a vyvažovania záťaže.
- HAProxy — špecializovaný load balancer a proxy.
- V jazyku Go je možné použiť balíček
net/httpna vytvorenie vlastného reverzného proxy, napríklad cezhttputil.ReverseProxy.
Príklad jednoduchého reverzného proxy v 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)
}