🔓 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।