Middle+
Co je reverzní proxy a co se obvykle používá k jeho implementaci?
sobes.tech AI
Odpověď od AI
Reverzní proxy je server, který přijímá požadavky od klientů a přesměrovává je na jeden nebo více interních serverů. Skrývá interní strukturu sítě, vyvažuje zátěž, ukládá odpovědi do cache a zajišťuje bezpečnost.
Pro implementaci reverzního proxy se často používají:
- Nginx — populární webový server s výkonnými možnostmi proxy a vyvažování zátěže.
- HAProxy — specializovaný load balancer a proxy.
- V jazyce Go lze použít balíček
net/httpk vytvoření vlastního reverzního proxy, například přeshttputil.ReverseProxy.
Pří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)
}