https://github.com/abhixsh/nginx-ssl-ec2-setup
This repository offers a step-by-step guide to deploy an NGINX web server with SSL on AWS EC2, securing HTTP access for applications. It covers Linux setup with WSL or VirtualBox, EC2 instance configuration, NGINX setup, and SSL via Let's Encrypt, with optional Cloudflare DNS and security enhancements.
https://github.com/abhixsh/nginx-ssl-ec2-setup
aws-ec2 cloudflare devops nginx ssl
Last synced: about 1 month ago
JSON representation
This repository offers a step-by-step guide to deploy an NGINX web server with SSL on AWS EC2, securing HTTP access for applications. It covers Linux setup with WSL or VirtualBox, EC2 instance configuration, NGINX setup, and SSL via Let's Encrypt, with optional Cloudflare DNS and security enhancements.
- Host: GitHub
- URL: https://github.com/abhixsh/nginx-ssl-ec2-setup
- Owner: abhixsh
- Created: 2024-10-13T17:52:49.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-11-01T02:38:46.000Z (over 1 year ago)
- Last Synced: 2025-02-13T02:25:17.080Z (over 1 year ago)
- Topics: aws-ec2, cloudflare, devops, nginx, ssl
- Language: CSS
- Homepage:
- Size: 3.91 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# NGINX Web Server with SSL on AWS EC2
This repository provides a step-by-step guide to set up an NGINX web server with SSL on an AWS EC2 instance, ensuring secure HTTP access for your application.
## Table of Contents
- [Introduction](#introduction)
- [Prerequisites](#prerequisites)
- [Setup Guide](#setup-guide)
- [1. Configuring the Linux Environment](#1-configuring-the-linux-environment)
- [2. Setting Up an EC2 Instance](#2-setting-up-an-ec2-instance)
- [3. Installing and Configuring NGINX](#3-installing-and-configuring-nginx)
- [4. Securing the Server with SSL](#4-securing-the-server-with-ssl)
- [5. Optional: Enhancing Security with Cloudflare](#5-optional-enhancing-security-with-cloudflare)
- [Contributing](#contributing)
- [License](#license)
## Introduction
This guide helps you configure an NGINX web server on AWS EC2 with SSL support to secure HTTP traffic. It includes instructions for setting up a Linux environment and managing configurations for NGINX and SSL certificates. For a detailed walkthrough, check out my article on Medium: **[Step-by-step Guide: Deploying NGINX Web Server with SSL on AWS EC2](https://medium.com/@abhixsh__/step-by-step-guide-deploying-nginx-web-server-with-ssl-on-aws-ec2-3780f6c29300)**.
## Prerequisites
- An AWS account
- Basic knowledge of Linux command line
- A domain name (optional, but recommended for SSL)
## Setup Guide
### 1. Configuring the Linux Environment
- Use **Windows Subsystem for Linux (WSL)** or **VirtualBox** to set up a Linux environment.
### 2. Setting Up an EC2 Instance
- Launch an EC2 instance in your AWS account.
- Select an Amazon Machine Image (AMI) and instance type.
- Configure security groups to allow HTTP (port 80) and HTTPS (port 443) traffic.
### 3. Installing and Configuring NGINX
- SSH into your EC2 instance.
- Install NGINX using your package manager.
- Configure NGINX to serve your application.
### 4. Securing the Server with SSL
- Install Certbot for Let's Encrypt.
- Obtain and install SSL certificates for your domain.
### 5. Optional: Enhancing Security with Cloudflare
- Set up a Cloudflare account.
- Configure your DNS settings to use Cloudflare for additional security.
## Contributing
Contributions are welcome! Please open an issue or submit a pull request for any improvements or suggestions.