UMC03 - EC2&Nginx 실습

한포도·2024년 4월 28일
0

UMC-6th-NodeJS

목록 보기
4/5
post-thumbnail

미션 리스트

  1. 새로운 VPC를 만들어 퍼블릭 서브넷을 구성하여 EC2를 해당 서브넷에 구성
    a. 새 VPC 이름은 챌린저의 닉네임 이름으로 할 것
    b. EC2에 원격 접속하여 nginx 설치 후 웹 브라우저로 EC2의 아이피 주소로 접속 시 nginx 화면이 뜨는 것도 반드시 인증 해야함
  2. /mission3에 접속 시 자신의 닉네임이 포함 된 HTML 문서가 응답으로 오게 구성
  3. /was에 접속 시 8080번 포트로 리버스 프록시가 되도록 설정하고 해당 설정 코드와 502 응답이 화면에 응답으로 온 것을 인증

Mission 1

a. VPC 생성


새로운 VPC생성과 퍼블릭 서브넷을 구성했습니다. 퍼블릭 서브넷을 구성하면서 보안그룹과 IGW 도 새로 생성 후 설정 했습니다. IGW 를 만들면서 라우팅 테이블 설정과 서브넷 연결도 같이 완료했고, 보안그룹은 인바운드 그룹만 따로 만지고 아웃바운드는 바닐라로 설정.

⬇️ 보안그룹 설정

이후 EC2를 새로 생성한 뒤 탄력적 IP설정을 마치고 원격 접속을 했습니다.

b. Nginx 접속


설치가 잘 완료된 모습!


Mission 2

/mission3 과 같이 어떤 요청에 특정 HTML 문서가 응답되는 것? ➡️ Web Server
즉 정적인 컨텐츠를 응답 하도록 설정하는 것이 2번째 미션입니다.

먼저 location 설정부터 해주겠습니다. 터미널을 이용해서 커널 명령어로 편집하는 방법과, VSC의 익스텐션을 이용한 방법이 있습니다만, 커널 명령어을 연습하기 위해 터미널을 사용해도 좋습니다. 다만 미션 진행의 편의성을 위해 저는 VSC를 이용하겠습니다. 평소에는 저는 MAC을 사용중이기 때문에, 주로 iterm2를 커스텀해서 터미널로 서버에 접속하고 이용하는 편 입니다.

VSC - SSH 접속


이 곳이 요청에 대한 응답을 설정하는 곳 입니다. /mission3 응답을 위한 코드를 작성하겠습니다.

location 작성

위의 코드를 작성해 /mission3 디렉토리에 html문서를 응답하도록 했습니다. 이제 nginx 설정이 변경 되었기 때문에 재시작후 html문서를 작성해보겠습니다.

⬇️재시작 명령어

제가 설정한 루트=디렉토리 경로를 만들어 준후 HTML문서를 작성했습니다. 이제 요청을 날려봅시다.

/mission3 응답화면

아주 잘 되었습니다! 나중에 더 꾸며보도록 합시다.


Mission3

자 그럼 /was 요청시 리버스 프록시로 설정해보겠습니다. 마찬가지로 location을 작성해봅시다.

location 작성

위와 같이 작성하면 ip주소+포트번호 로 접속시 프록시로 접속을 중계할겁니다. 만약 /was 경로로 들어오는 모든 요청을 8080번 포트로 리버스 프록시하고자 한다면, try_files 지시문은 필요하지 않습니다. 정적파일에 대한 요청을 처리하기 위해 사용하기 때문입니다. 단순하게 proxy_pass 지시문만 사용하면 됩니다. 다시 nginx를 재시작하고 이번에는 /was경로만 만들겠습니다. 목적은 에러를 띄우는 것 이니까요.

/was 응답화면


502 나쁜문으로 잘 응답되었습니다. VPC생성에 필요한 단계와 리눅스 명령어를 좀더 숙지 해봅시다!


profile
응애 개발맨

0개의 댓글