تكوين الخادم
يوفر Gin خيارات تكوين خادم مرنة. نظراً لأن gin.Engine ينفّذ واجهة http.Handler، يمكنك استخدامه مع net/http.Server القياسي في Go للتحكم في المهل الزمنية وTLS والإعدادات الأخرى مباشرة.
استخدام http.Server مخصص
افتراضياً، يبدأ router.Run() خادم HTTP أساسي. للاستخدام في بيئة الإنتاج، أنشئ http.Server الخاص بك لتعيين المهل الزمنية والخيارات الأخرى:
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()}هذا يمنحك وصولاً كاملاً لتكوين خادم Go مع الاحتفاظ بجميع إمكانيات التوجيه والوسيطات في Gin.
في هذا القسم
- تكوين HTTP مخصص — ضبط خادم HTTP الأساسي
- مُرمّز JSON مخصص — استخدام مكتبات تسلسل JSON بديلة
- Let’s Encrypt — شهادات TLS تلقائية مع Let’s Encrypt
- تشغيل خدمات متعددة — تقديم عدة محركات Gin على منافذ مختلفة
- إعادة التشغيل أو الإيقاف الرشيق — الإيقاف بدون إسقاط الاتصالات النشطة
- دفع خادم HTTP/2 — دفع الموارد إلى العميل بشكل استباقي
- معالجة ملفات تعريف الارتباط — قراءة وكتابة ملفات تعريف ارتباط HTTP
- الوكلاء الموثوقون — تكوين الوكلاء التي يثق بها Gin لتحديد عنوان IP للعميل