Configuração do Servidor
O Gin oferece opções flexíveis de configuração de servidor. Como gin.Engine implementa a interface http.Handler, você pode usá-lo com o net/http.Server padrão do Go para controlar timeouts, TLS e outras configurações diretamente.
Usando um http.Server customizado
Seção intitulada “Usando um http.Server customizado”Por padrão, router.Run() inicia um servidor HTTP básico. Para uso em produção, crie seu próprio http.Server para definir timeouts e outras opções:
func main() { router := gin.Default() router.GET("/", func(c *gin.Context) { c.String(200, "ok") })
s := &http.Server{ Addr: ":8080", Handler: router, ReadTimeout: 10 * time.Second, WriteTimeout: 10 * time.Second, MaxHeaderBytes: 1 << 20, } s.ListenAndServe()}Isso dá acesso completo à configuração do servidor Go, mantendo todas as capacidades de roteamento e middleware do Gin.
Nesta seção
Seção intitulada “Nesta seção”- Configuração HTTP customizada — Ajuste fino do servidor HTTP subjacente
- Codec JSON customizado — Use bibliotecas alternativas de serialização JSON
- Let’s Encrypt — Certificados TLS automáticos com Let’s Encrypt
- Executando múltiplos serviços — Sirva múltiplos engines Gin em portas diferentes
- Reinicialização ou parada graciosa — Desligue sem descartar conexões ativas
- HTTP/2 server push — Envie recursos ao cliente proativamente
- Manipulação de cookies — Leia e escreva cookies HTTP
- Proxies confiáveis — Configure quais proxies o Gin confia para resolução de IP do cliente