Sobes.tech
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/http k vytvoření vlastního reverzního proxy, například přes httputil.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)
}