Middle+
O que é um reverse proxy e o que normalmente se usa para implementá-lo?
sobes.tech IA
Resposta da IA
O proxy reverso é um servidor que recebe pedidos dos clientes e os encaminha para um ou vários servidores internos. Ele oculta a estrutura interna da rede, equilibra a carga, armazena respostas em cache e garante a segurança.
Para implementar um proxy reverso, costuma-se usar:
- Nginx: um servidor web popular com capacidades poderosas de proxy e balanceamento.
- HAProxy: um balanceador de carga e proxy especializado.
- Em Go, pode-se usar o pacote
net/httppara criar um proxy reverso próprio, por exemplo, através dehttputil.ReverseProxy.
Exemplo de um proxy reverso simples em 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)
}