This project demonstrates the difference between forward and reverse proxies using AWS EC2 instances.
We'll set up:
- A simple web application (Backend Server)
- A forward proxy server
- A reverse proxy server
- Client machine for testing
- AWS Account
- 3x EC2 instances (t2.micro is sufficient)
- Basic knowledge of Linux commands
- Python 3.6+
-
Launch 3 EC2 instances (Ubuntu 20.04 recommended):
- Backend Server
- Forward Proxy
- Reverse Proxy
-
Update security groups to allow necessary traffic:
- Backend Server: Allow HTTP (80) from Reverse Proxy
- Forward Proxy: Allow HTTP (8080) from your IP
- Reverse Proxy: Allow HTTP (80) from anywhere
-
Follow the setup instructions in each directory to configure the services.