Azure VM + Namecheap

heering·2023년 8월 5일
0

Azure

목록 보기
2/4

예전부터 해보고 싶었던 걸 해봤다. 바로 내가 원하는 도메인으로 홈페이지 배포하기! 🤗

준비물

준비물은 다음과 같다. 대학생이면 1년 무료다.
1. GitHub Student Developer Pack의 Namecheap 또는 Name.com
2. Azure for Students의 VM Linux.

근데 Namecheap은 가입하려고 보면 대학생을 지원하는 지역이 미국, 호주, 영국(?)이라고 봤던 거 같다. 나는 미국 대학교 .edu 이메일이 있어서 문제가 없었지만, 문제가 된다면 Name.com을 시도해보라.

Azure VM

AWS 프리티어를 썼다가 1년이 끝나서 Azure로 갈아탔다. Azure for Students는 써본 결과 좀 까다로운 면이 있기는 하지만, 전반적으로 만족스럽다. 1년 무료이며 카드 연결 안해도 되고, $100 크레딧이 주어져서 유료 서비스라도 여기서 차감된다. 대신 무료 서비스라고 명시된 VM B1s라던가, Azure SQL DataBase 250GB S0는 하나하나 내가 꼼꼼하게 체크하며 만들어야한다. 하나라도 수틀리면 그냥 크레딧에서 차감된다.

여기를 참고해서 Nginx 설치까지 마치자. 처음에 VM 만들 때 인바운드 포트를 22(SSH)뿐만 아니라 80(HTTP), 443(HTTPS)까지 열어두자.

그리고 서버에 SSH로 접속해서 openssl로 Private Key를 생성해야한다.

$ openssl req -new -newkey rsa:2048 -nodes -keyout example.key -out example.csr

여기서 만들어진 파일들은 SSL 인증서를 만드는 데 쓰이고, Nginx에서 연결할 때 필요하기도 하다. File은 필요하다면 Filezilla SFTP 등으로 내 컴퓨터에 옮겨놓자.

Namecheap

깃허브 팩에서 Namecheap의 도메인뿐만 아니라 SSL 인증서까지 준다. SSL 인증서는 깃허브에서 주는 프로모션 코드를 복사해 사용하면 된다. Namecheap이 제공하는 도메인은 GitHub Pages 전용이라는 글을 봤던 기억이 있는데, 전혀 상관없다.

도메인 및 SSL 구매가 끝나면 Namecheap의 Domain list의 Manage 버튼을 클릭해 맨 위 Record처럼 Host의 값은 @으로 주고, Value는 Azure VM의 공용 IP 값을 입력해주면 된다. 적용되기까지 대략 30분 걸린다. 맨 아래 Record처럼 내가 구매한 도메인 이름은 저렇게 적혀있다. TTL 값은 기본이 30min이었는데 그냥 내가 바꿨다.

여기까지 마쳤으면 Azure VM에서 설치해두었던 Nginx 덕분에, 도메인에 접속하면 Welcome to Nginx가 뜰 것이다. 근데 SSL 인증서를 무료로 받아봤으면 써봐야하지 않겠는가? 443포트로, HTTPS로 접속할 수 있도록 설정해보겠다.

Nginx에 SSL 인증서 연결

SSL을 구입했으면 Namecheap에서 인증서 파일을 zip으로 다운받을 수 있다. Namecheap 말고 다른 사이트는 이메일로 날라온다던데 나는 직접 다운받았다.

다운받으면 ~.ca-bundle, ~.crt, ~.p7b 파일이 들어있다. 나는 그냥 crt 파일과 기존의 Private Key를 Nginx에 연결했다가 낭패를 봤는데, 이대로 사용하면 안된다. 여기 벨로그여기 공식문서를 참고했다. 파일을 묶어줘야 한다.

$ cat example.crt example.ca-bundle >> example_chain.crt

이렇게 해서 나온 crt파일을 Nginx에 연결하면 된다.

1개의 댓글

comment-user-thumbnail
2023년 8월 5일

정리가 잘 된 글이네요. 도움이 됐습니다.

답글 달기