HTTP, HTTPS, SSL/TLS — নিরাপদ সংযোগ

লেসন ৪ / ৩৮

🔓 HTTP vs 🔒 HTTPS

  • HTTP — plain text, MITM risk
  • HTTPS — TLS encrypted
  • Browser এখন HTTP-এ "Not Secure" warning
  • Google SEO ranking factor

📜 SSL Certificate

Digital document যা প্রমাণ করে server domain owner। CA sign করে।

🤝 TLS Handshake

1. Client Hello → cipher list
2. Server Hello → cert + public key
3. Cert verify (CA chain)
4. Key exchange (ECDHE)
5. Symmetric key established
6. Encrypted data flow

💻 Lets Encrypt + Certbot

sudo apt install certbot python3-certbot-nginx

# Get cert (auto Nginx config)
sudo certbot --nginx -d example.com -d www.example.com

# Test renewal
sudo certbot renew --dry-run

# Cron auto-renew
sudo crontab -e
0 0,12 * * * certbot renew --quiet

# Check expiry
echo | openssl s_client -connect example.com:443 2>/dev/null \
    | openssl x509 -noout -dates

🌟 Wildcard Cert

sudo certbot certonly --manual \
  --preferred-challenges=dns \
  -d example.com -d *.example.com

⚠️ Mixed Content

HTTPS page-এ HTTP asset → browser block। সমাধান: সব URL https:// বা protocol-relative //।

🏆 Test SSL

SSL Labs (ssllabs.com/ssltest) — A+ target। TLS 1.3, HSTS, modern cipher।

🎓 মূল কথা ⭐

HTTPS non-negotiable। Lets Encrypt free, 5-min setup। Auto-renewal cron mandatory। Cloudflare proxy → SSL automatic।