Sobes.tech
Middle+

Wat is een reverse proxy en wat wordt er meestal voor gebruikt om het te implementeren?

sobes.tech AI

Antwoord van AI

Een reverse-proxy is een server die verzoeken van clients ontvangt en deze doorstuurt naar een of meerdere interne servers. Het verbergt de interne netwerkstructuur, verdeelt de belasting, cachet antwoorden en zorgt voor beveiliging.

Om een reverse-proxy te implementeren worden vaak gebruikt:

  • Nginx — een populaire webserver met krachtige proxy- en load balancing-mogelijkheden.
  • HAProxy — een gespecialiseerde load balancer en proxy.
  • In Go kun je de net/http-package gebruiken om je eigen reverse-proxy te maken, bijvoorbeeld via httputil.ReverseProxy.

Voorbeeld van een eenvoudige reverse-proxy in 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)
}