Sobes.tech
Middle+

Šta je reverzni proxy i šta se obično koristi za njegovu implementaciju?

sobes.tech АИ

Одговор од АИ

Reverse-proxy je server koji prima zahteve od klijenata i ih preusmerava na jedan ili više unutrašnjih servera. On skriva unutrašnju strukturu mreže, balansira opterećenje, kešira odgovore i obezbeđuje sigurnost.

Za implementaciju reverse-proxy često se koriste:

  • Nginx — popularan veb server sa snažnim mogućnostima proxy-ja i balansiranja opterećenja.
  • HAProxy — specijalizovani balansator opterećenja i proxy.
  • U Go jeziku, može se koristiti paket net/http za kreiranje sopstvenog reverse-proxy-ja, na primer, putem httputil.ReverseProxy.

Primer jednostavnog reverse-proxy-ja u 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)
}