Node.js, yerleşik http2 modülüyle HTTP/2'yi destekler. Tarayıcılar HTTP/2'yi yalnızca TLS üzerinden açtığı için, geçerli bir SSL sertifikası şarttır.
Güvenli HTTP/2 sunucu
const http2 = require('http2');
const fs = require('fs');
const server = http2.createSecureServer({
key: fs.readFileSync('private.key'),
cert: fs.readFileSync('fullchain.crt'),
allowHTTP1: true // HTTP/1.1 istemcilerle geriye uyum
});
server.on('stream', (stream) => {
stream.respond({ ':status': 200 });
stream.end('HTTP/2 aktif');
});
server.listen(443);
allowHTTP1: true, HTTP/2 desteklemeyen istemcilerle uyumu korur. ALPN, protokol seçimini otomatik yapar.
Performans ayarları
- Tam zincir kullanın (fullchain).
- Oturum sürdürmeyi etkinleştirin.
- ECDSA sertifika ile hafif el sıkışma.
Üretim önerisi: reverse proxy
Üretimde HTTP/2'yi ve TLS'i genellikle nginx'te bitirmek daha pratiktir; nginx HTTP/2'yi ve HTTP/3'ü olgun şekilde destekler, sertifika yönetimini ayırır. Node arka uçta düz HTTP konuşur.
Doğrulama
curl -I --http2 https://ornek.com.tr
Yanıtta HTTP/2 görmelisiniz.

Yorumlar
Henüz yorum yapılmamış. İlk yorumu siz yapın!
Yorum Yaz