A step-by-step guide for AWS EC2 provisioning using Terraform: Nginx Reverse Proxy with SSL Cert Using Ansible and GitHub Actions for Django — Part 17

Joel Wembo
Django Unleashed
Published in
11 min readJul 13, 2024

--

End-To-End Pipeline deploying using GitHub Actions and Docker for Nginx Reverse Proxy with SSL Certificate for a Django application — Part 17. In web development, ensuring a secure and efficient application deployment process is crucial. This article delves into establishing an end-to-end pipeline for a Django application running on an Ubuntu server. We’ll leverage Docker for containerization and GitHub Actions for automated deployment, with Nginx as a secure reverse proxy and SSL certificates safeguarding communication.

Table of Contents

· Table of Contents
Prerequisites
Introduction
Step 1: EC2 Provisioning
Step 2: DNS Record Setup
Step 3: Install python 3
Step 4: Install Docker in your Virtual Machine
Step 5: Deploy your Django App
Step 6: Installer nginx
Step 7: Install Certbot
Step 8: Request an SSL Certificate for your custom domain
Step 9: Configure Nginx as a Reverse Proxy
Step 10: Enable the Configuration and Restart Nginx
Step 11: Ansible playbook to automate the setup
· Conclusion
· About me
References

--

--

Joel Wembo
Django Unleashed

I am a Cloud Solutions Architect @ prodxcloud. Expert in Django, AWS, AWS CDK, EKS, Serverless Computing & Terraform. https://www.linkedin.com/in/joelotepawembo