- 클론 원본 저장소 : unchaptered/express-nginx
- 클론 원본 README : unchaptered/express-nginx/README.md
본 프로젝트는 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) 설정을 완료 할 수 있습니다.
- 🤔 또한
[email protected]
버전이 아닐 시 해당 방법이 적용되지 않을 확률이 높습니다.
해당 프로젝트를 따라하시려면 사전 준비 요소
가 존재합니다.
- Nginx 와 프록시 서버에 대한 아주 기본적인 이해 원본 저장소 참고
- DNS 에 등록된 도메인 주소
- 등록된 도메인 주소에 EC2 인스턴스의 Public IPv4 를 등록해주세요.
- EC2 인스턴스
- SSH 22 포트 Anywhere IPv4, Anywhere IPv6
- HTTP 80 PORT 포트 Anywhere IPv4, Anywhere IPv6
- HTTP 432 PORT 포트 Anywhere IPv4, Anywhere IPv6
- 실제 호스팅 단계에서는 변동이 있으나, 빠른 확인을 위해서 모두 열어주세요
본 프로젝트에서는 다음을 목표
로 하고 있습니다.
[email protected]
에서 Snap 을 이용하여 Nignx 을 설정[email protected]
에서 Certbt 을 설정[email protected]
에서 ufw 방화벽 설정- 단계적으로 Nginx 를 설정하고 Certbot 과 연동
- 해당 단계 성공시, https://도메인-주소 와 -http://IPv.4_ 가 활성화
- IPv4 로 접속 시에 https://도메인-주소 로 redirect 80 -> 443 으로 설정
사용한 무료 도메인 발급 처 및 SSL 발급처
- 무료 도메인 발급처 : no-ip
- 무료 SSL 발급처 : Let's Encrypt
- SSL 발급 및 사용 도구 : Certbot
✔ 참고 자료 3 ~ 6 순서로 진행하시면 됩니다.
-
참고자료 1 ~ 2 로 진행 시 발생했던 에러
-
참고자료 3 ~ 5 로 진행 시 발생했던 에러
-
ubuntu
폴더 안의 주요 파일의 위치와 목적
Nginx 를 사용하기 위해서 참고한 관련 참고 자료 가 필요하시면, 자세히 보기 를 확인해주세요.
본 프로젝트에서는 ✔ 체크 된 항목을 기준으로 진행했습니다.
- KOR, [Nginx] SSL 설정(HTTPS 적용), KOR
- KOR, how_to_set_https_by_using_nginx.md, KOR
- ✔ ENG, How To Install Nginx on Ubuntu 22.04
- ✔ ENG, How To Secure Nginx with Let's Encrypt on Ubuntu 22.04
- ✔ ENG, How to Remove (Delete) Symbolic Links in Linux
- ✔ KOR, nginx HTTP 로 들어오면 강제로 HTTPS 로 전환하도록 설정하기(force redirect to SSL)