Sobes.tech
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/http na vytvorenie vlastného reverzného proxy, napríklad cez httputil.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)
}