Sunucu Yapılandırması
Gin, esnek sunucu yapılandırma seçenekleri sunar. gin.Engine http.Handler arayüzünü uyguladığından, zaman aşımlarını, TLS’i ve diğer ayarları doğrudan kontrol etmek için Go’nun standart net/http.Server’ı ile kullanabilirsiniz.
Özel http.Server kullanımı
Varsayılan olarak, router.Run() basit bir HTTP sunucusu başlatır. Üretim kullanımı için, zaman aşımlarını ve diğer seçenekleri ayarlamak üzere kendi http.Server’ınızı oluşturun:
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()}Bu, Gin’in tüm yönlendirme ve ara katman yeteneklerini korurken Go’nun sunucu yapılandırmasına tam erişim sağlar.
Bu bölümde
- Özel HTTP yapılandırması — Temel HTTP sunucusunu ince ayarlama
- Özel JSON codec’i — Alternatif JSON serileştirme kütüphaneleri kullanma
- Let’s Encrypt — Let’s Encrypt ile otomatik TLS sertifikaları
- Birden fazla servis çalıştırma — Farklı portlarda birden fazla Gin motoru sunma
- Zarif yeniden başlatma veya durdurma — Aktif bağlantıları düşürmeden kapatma
- HTTP/2 sunucu push — İstemciye proaktif olarak kaynak gönderme
- Çerez işleme — HTTP çerezlerini okuma ve yazma
- Güvenilir proxy’ler — İstemci IP çözümlemesi için Gin’in hangi proxy’lere güveneceğini yapılandırma