Skip to content

AWS + EC2 bare metal cheat sheet / ssl - nginx #259

@johndpope

Description

@johndpope

I abandoned efforts to use ecs to deploy sample code - but ended up with this solution running nginx.

EC2 - instance micro tier - but must have at least 2Gb RAM to compile apps.

Ensure that AWS EC2 security group
Inbound Rules accept 80 / 443 / 22

sudo yum install git
curl -sL https://rpm.nodesource.com/setup_16.x | sudo bash -
sudo yum install -y nodejs

sudo yum-config-manager --enable epel
 sudo yum update
 sudo yum install inotify-tools
 sudo yum group install "Development Tools"
sudo yum install htop
 cd go 
 ./start.sh


cd quickstart-frontend
npm install
npm run build
npm run strart

# COPY LETS ENCRYPT CERTS
# generate certs here.
https://github.com/single9/docker-wildcard-letsencrypt
sudo mkdir -p  /etc/letsencrypt/
sudo cp -R nginx/letsencrypt  /etc/


sudo yum install nginx
sudo mkdir -p /etc/nginx/conf.d
sudo cp default.conf /etc/nginx/sites-available/default (no .conf)

# Make nginx start on reboot
sudo systemctl enable nginx

sudo systemctl start nginx
sudo systemctl restart nginx
sudo /usr/sbin/nginx -s reload

default.conf

server {
  server_name covershot.app www.covershot.app;
  listen 80;
  listen 443 ssl;

  ssl_certificate /etc/letsencrypt/live/covershot.app/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/covershot.app/privkey.pem;
  # include /etc/letsencrypt/options-ssl-nginx.conf;

  location /api {
    proxy_pass http://0.0.0.0:8000;
    proxy_set_header X_Forwarded_For $remote_addr;
  }
  location / {
    proxy_pass http://0.0.0.0:3000;
    proxy_set_header X_Forwarded_For $remote_addr;
  }

  if ($http_host = covershot.app) {
      return 301 https://www.covershot.app$request_uri;
  }
}

start frontend / npm run start
start go ./start.

working.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions