서버 도메인 붙이기
AWS에서 백엔드 서버와 데이터 베이스 서버 연결하기프론트엔드 백엔드 서로 다른 서버로 수동 배포하고 연결하기(feat. CORS해결)프론트엔드가 포함된 백엔드 프로젝트 수동 배포하기AWS EC2 nginx에
constant1601.tistory.com
지난번에 도메인을 구입하고 서버에 도메인을 붙여봤다.
오늘은 HTTPS를 적용해 보려고 한다.

이전에 도메인을 연결해 놓은 페이지를 보면 주의 요함이라는 경고가 뜨는 것을 볼 수 있다.
이는 HTTP를 사용했기 때문에 발생할 수 있는 보안 취약점에 대한 경고이다.(중간자 공격, 스니핑 등)
이를 보완하기 위해 HTTPS(HTTP에 데이터 암호화가 추가된 프로토콜)을 적용해 보았다.

HTTPS를 적용하는 과정을 간단히 보자면 위와 같다.
2단계인 SSL/TLS 인증서를 발급받기 전 SSL/TLS이 무엇인지 간단히 알아봤다.
SSL(Secure Sockets Layer)은 암호화 기반 인터넷 보안 프로토콜이다. 전달되는 모든 데이터를 암호화하고 특정한 유형의
사이버 공격도 차단한다. TLS(Transport Layer Security)는 SSL의 업데이트 버전이다. 사실상 SSL 인증 및 제공하는 업체
에서는 TLS암호화를 제공하는 것이라고 한다.

SSL 인증서를 발급하는 곳은 여러 곳이 있지만 이번에는 사용법이 간단하고 무료로 사용해 볼 수 있는
SSL For Free 사이트를 이용했다.
들어가서 SSL인증서를 발급받을 도메인의 주소를 입력하고 SSL인증서 생성을 눌러주면 된다.

해당 화면으로 넘어가면 New Certificate를 눌러준다.

화면 중간에 도메인을 넣어주고 다음 단계로 넘어간다.

90일은 무료로 사용할 수 있다. 하지만 더 긴 기간 사용하려면 일정금액을 지불해야 한다.

이후 실제 해당 도메인의 소유주가 맞는지 확인하기 위해 인증을 거쳐야 한다.
여러 방식이 있지만 여기서 DNS에 레코드를 추가하여 인증하는 방식을 선택했다.


도메인을 발급받았던 가비아로 이동해서 해당 도메인의 DNS 레코드 수정 메뉴로 들어가 준다.
여기서 CNAME 레코드를 추가해줘야 하는데 호스트에 들어가는 것은
위쪽 Name 부분에 도메인 앞 . 까지 이다.
값/위치 부분에는 Point To값이 들어가는데 이때 마지막에 . 을 찍어줘야 한다.
TTL은 3600 이하로만 설정하면 된다.

이제 인증서를 다운로드 받을 수 있는데 nginx에 적용할 것이기 때문에 Server Type을 NGINX로 설정한 후
다운 받았다.


다운받은 인증서를 EC2로 옮겨야 하는데 이때는 scp 명령어를 통해 보냈다.
사용한 scp 명령어를 위와 같다.

이후 EC2에 접속해 unzip으로 압축을 풀어준다. 이제 해당 파일들의 경로를 nginx설정파일에 추가해 주면 된다.

/etc/nginx/sites-enabled 위치에 있는 default 설정 파일을 열어준다.

이후 위와 같이 인증서의 경로를 추가해주면 된다.
여기서 server_name에는 도메인을 적는다. root에는 기존 80 포트 설정부분에 있는 html 파일의 경로를 적어주면 된다.
location에서는 마찬가지로 리버스 프록시를 적용할 수도 있다.

외부에서 접속할 수 있도록 EC2 보안그룹에서 443 포트를 열어준다.

브라우저에서 접속해 보면 정상적으로 https가 적용된 것을 알 수 있다.
HTTPS는 추가 비용이 발생하기 때문에 개인정보와 같이 민감한 데이터를 주고받을 때는 필수지만, 노출이 되어도 괜찮은 단순한 정보 조회 만을 처리한다고 하면 HTTP를 이용해도 상관없다.
참고
'Practice' 카테고리의 다른 글
JUnit5, AssertJ 단위 테스트하기(given, when, then) (0) | 2025.04.03 |
---|---|
서버 도메인 붙이기 (0) | 2025.03.07 |
AWS에서 백엔드 서버와 데이터 베이스 서버 연결하기 (0) | 2025.03.06 |
프론트엔드 백엔드 서로 다른 서버로 수동 배포하고 연결하기(feat. CORS해결) (0) | 2025.03.05 |
프론트엔드가 포함된 백엔드 프로젝트 수동 배포하기 (0) | 2025.03.05 |