Skip to content
This repository has been archived by the owner on Aug 10, 2022. It is now read-only.

unchaptered/express-nginx-https

Repository files navigation

Express-Nginx-Https

본 프로젝트는 2022-08-05 에 Nginx 를 사용한 Reversy Proxy Server 에서 시작된 프로젝트입니다.

아주 간단한 Nginx - PM2 - Express 서버를 해보고 조금 욕심이 생겼습니다.

따라서, SSL 인증키를 사용한 Nginx (HTTPS) 를 사용한 Reversy Proxy Server 를 구현하고자 했습니다.

  • ⚡ 엄청나게 많은 에러가 발생하는 과정입니다.
  • ⚡ unchaptered/epxress-nginx 와 unchaptered/express-nginx-https 를 연속으로 했을 때, 저는 약 30 시간 정도의 시간이 소요 되었습니다. 겪었던 에러들에 대한 정리가 되어 있으니 참고 자료를 따라서 진행하면 성공적으로 Nginx(HTTPS) 설정을 완료 할 수 있습니다.
  • 🤔 또한 ubuntu@22.04 버전이 아닐 시 해당 방법이 적용되지 않을 확률이 높습니다.




✔ 사전 준비 요소

해당 프로젝트를 따라하시려면 사전 준비 요소가 존재합니다.

  1. Nginx 와 프록시 서버에 대한 아주 기본적인 이해 원본 저장소 참고
  2. DNS 에 등록된 도메인 주소
    1. 등록된 도메인 주소에 EC2 인스턴스의 Public IPv4 를 등록해주세요.
  3. EC2 인스턴스
    1. SSH 22 포트 Anywhere IPv4, Anywhere IPv6
    2. HTTP 80 PORT 포트 Anywhere IPv4, Anywhere IPv6
    3. HTTP 432 PORT 포트 Anywhere IPv4, Anywhere IPv6
    4. 실제 호스팅 단계에서는 변동이 있으나, 빠른 확인을 위해서 모두 열어주세요

본 프로젝트에서는 다음을 목표로 하고 있습니다.

  1. ubuntu@22.04 에서 Snap 을 이용하여 Nignx 을 설정
  2. ubuntu@22.04 에서 Certbt 을 설정
  3. ubuntu@22.04 에서 ufw 방화벽 설정
  4. 단계적으로 Nginx 를 설정하고 Certbot 과 연동
    1. 해당 단계 성공시, https://도메인-주소 와 -http://IPv.4_ 가 활성화
  5. IPv4 로 접속 시에 https://도메인-주소redirect 80 -> 443 으로 설정

사용한 무료 도메인 발급 처 및 SSL 발급처

  1. 무료 도메인 발급처 : no-ip
  2. 무료 SSL 발급처 : Let's Encrypt
  3. SSL 발급 및 사용 도구 : Certbot




✔ 진행 절차

✔ 참고 자료 3 ~ 6 순서로 진행하시면 됩니다.

  1. 참고자료 1 ~ 2 로 진행 시 발생했던 에러

    1. Nginx Exit Error
    2. Nginx Bypass Error
  2. 참고자료 3 ~ 5 로 진행 시 발생했던 에러

    1. Nginx Setup
    2. Nginx Certbot
    3. Nginx Bypass
  3. ubuntu 폴더 안의 주요 파일의 위치와 목적

    1. Nginx 파일정리



✔ 참고 자료

Nginx 를 사용하기 위해서 참고한 관련 참고 자료 가 필요하시면, 자세히 보기 를 확인해주세요.

본 프로젝트에서는 ✔ 체크 된 항목을 기준으로 진행했습니다.

  1. KOR, [Nginx] SSL 설정(HTTPS 적용), KOR
  2. KOR, how_to_set_https_by_using_nginx.md, KOR
  3. ✔ ENG, How To Install Nginx on Ubuntu 22.04
  4. ✔ ENG, How To Secure Nginx with Let's Encrypt on Ubuntu 22.04
  5. ✔ ENG, How to Remove (Delete) Symbolic Links in Linux
  6. ✔ KOR, nginx HTTP 로 들어오면 강제로 HTTPS 로 전환하도록 설정하기(force redirect to SSL)