16. Live Project: Building a Reels App with EC2, S3 and RDS
16.11 Domain and HTTPS
Part 6 pramane subdomain aani Certbot.
- GoDaddy (or Route 53) → add an A record: Name
reels→ your Elastic IP. Check withdig reels.yourdomain.com +short. - Get the certificate and redirect HTTP to HTTPS:
sudo yum install -y certbot python3-certbot-nginx # Ubuntu: sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d reels.yourdomain.com --redirect
sudo certbot renew --dry-run
- Set
'cookie_secure' => trueinconfig.php, thensudo service php-fpm restart. - Add HSTS inside the new
listen 443server block Certbot created, test and reload:
add_header Strict-Transport-Security "max-age=31536000" always;
sudo nginx -t && sudo service nginx reload
curl -I http://reels.yourdomain.com # 301 → https
curl -sI https://reels.yourdomain.com/login.php | grep -Ei 'strict|content-security|x-frame'
add_header inheritance in Nginx
If a location block has its own add_header, Nginx drops the server-level headers for that location. Keep all security headers at server level (as in reels.conf) and check them with curl -sI after every change.
Ravindra Bagale's Tip
After adding HTTPS, login "doesn't work" – the page reloads and you're back on the login page. The reason: cookie_secure is true but you're still on http://, or the other way round. Always use the HTTPS URL, and check with curl -I that the redirect is working.
Ravindra Bagale's Tip – मराठी
HTTPS लावल्यावर login "होत नाही" – page reload होतं आणि परत login page. कारण: cookie_secure true आहे पण तुम्ही अजून http:// वर आहात, किंवा उलट. नेहमी HTTPS URL वापरा आणि redirect चालू आहे का curl -I ने check करा.
Ravindra Bagale's Tip – हिंदी
HTTPS लगाने के बाद login "नहीं होता" – page reload होता है और फिर से login page. वजह: cookie_secure true है पर तुम अभी भी http:// पर हो, या उल्टा. हमेशा HTTPS URL इस्तेमाल करो और curl -I से check करो कि redirect चल रहा है.
Lab
Point reels.yourdomain.com to your Elastic IP, run Certbot with --redirect, switch cookie_secure to true, add HSTS, and confirm the headers with curl -sI.