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/httpza kreiranje sopstvenog reverse-proxy-ja, na primer, putemhttputil.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)
}