EC2 site not reachable
August 8, 2025 · AI Conversations
—
### ✅ 1. **Check EC2 Instance Status**
– Go to your AWS **EC2 Dashboard**.
– Confirm that the instance is:
– ✅ **Running**
– ✅ **Has passed both status checks**
—
### ✅ 2. **Check Security Group Rules**
Ensure inbound rules allow access:
– **Port 80 (HTTP)** or **443 (HTTPS)** if you're running a website.
– **Port 22 (SSH)** if you're trying to SSH.
Type: HTTP | Port: 80 | Source: 0.0.0.0/0
Type: HTTPS | Port: 443 | Source: 0.0.0.0/0
Type: SSH | Port: 22 | Source: Your IP or 0.0.0.0/0 (if testing)
—
### ✅ 3. **Check Web Server (Apache/Nginx)**
Ensure your web server is up and running:
# For Apache
sudo systemctl status apache2
# For Nginx
sudo systemctl status nginx
Start if it's not:
sudo systemctl start apache2 # or nginx
—
### ✅ 4. **Check Firewall (UFW)**
If `ufw` is enabled, make sure HTTP/S traffic is allowed:
sudo ufw status
sudo ufw allow 'Apache Full' # or 'Nginx Full'
—
### ✅ 5. **Check DNS or Browser Issues**
– Try accessing the site in **Incognito Mode** or from another device/network.
– Try using the **public IP** of your EC2 instance instead of the domain:
ping ec2-16-171-53-169.eu-north-1.compute.amazonaws.com
—
### ✅ 6. **Check if a Website is Deployed**
Even if the EC2 and web server are running, if no website is deployed or the root directory is empty, you'll see errors.
—
If you'd like, you can paste your:
– Security group settings
– Output of `sudo systemctl status apache2` (or nginx)
– Domain setup (if any in Route 53 or external DNS)
And I’ll help debug further.
—
### 🛠️ Common Web Root Directory:
Assuming your HTML files are in:
/var/www/html
—
### ✅ 1. **Change Ownership to Web Server User**
For **Apache**, default user is usually `www-data` (Ubuntu/Debian):
sudo chown -R www-data:www-data /var/www/html
For **Nginx**, it may still be `www-data`, or sometimes `nginx` (on RHEL-based distros):
# For Nginx on Ubuntu/Debian
sudo chown -R www-data:www-data /var/www/html
# For Nginx on CentOS/RHEL
sudo chown -R nginx:nginx /usr/share/nginx/html
—
### ✅ 2. **Give Write Permissions**
You can allow the web server user to write:
sudo chmod -R 755 /var/www/html
If you explicitly need write access for the folder (e.g. file uploads):
sudo chmod -R 775 /var/www/html
Or more permissively (not recommended in production):
sudo chmod -R 777 /var/www/html
—
### ✅ 3. **Confirm with a Test**
You can test writing a file:
sudo -u www-data touch /var/www/html/test.txt
—
Let me know your server type (Apache/Nginx), distro (Ubuntu, CentOS, etc.), and what you're trying to do (upload files? edit HTML from browser?), and I’ll tailor it better.