AWS EC2의 IPv4 주소는 복잡하기 때문에 도메인을 이용하여 더 쉽게 기억하고 사용할 수 있도록 한다.
가비아에서 할인 중인 저렴한 도메인을 샀다.
가비아에서 My가비아 - DNS 관리 툴 - 설정
타입: A, 호스트: www, @ 값/위치:IPv4주소로 설정해주었다.
추후 서브도메인을 활용해서 테스트 서버, 배포 서버 나눌 것이기 때문에 호스트에 www, @ 뿐만 아니라 dev, prod도 넣어주었다.
이런 형태!
설정해주고 몇 분 지나지 않아, 주소창에 도메인주소/index.php를 입력하면 phpinfo() 에 해당하는 정보 그대로 보여지는 것이 확인 가능하다
SSL 인증서 : 웹 서버와 웹 사이트에서 이루어지는 정보 전송을 암호화하여 인증되지 않은 사용자로부터 보호하는 역할을 한다.
보안이 강화된 HTTP -> HTTPS(SSL 프로토콜 위에서 돌아가는 암호화 프로토콜)
다시 putty로 들어간다.
Let's Encrypt를 사용하여 무료로 HTTPS 보안 연결을 진행할 것이다.
sudo apt update
sudo add-apt-repository ppa:certbot/certbot
sudo apt update
sudo apt install python-certbot-nginx
sudo vi /etc/nginx/sites-available/default
server_name 에 도메인 명으로 수정해준다.
sudo nginx -t
명령어를 입력해서 nginx에 정상적으로 적용되는지 확인해 준 뒤,
sudo systemctl reload nginx
nginx를 다시 로드한다.
sudo certbot --nginx -d 도메인명
명령어를 통해 원하는 도메인에 nginx 플러그인을 통해 인증서를 발급받는다. 이때 2번 redirect를 선택한다.
그리고 나서 AWS EC2 인바인드 규칙에 HTTPS 유형 443포트 열어준다.
아래는 SSL 인증서 갱신 확인하는 명령어
sudo certbot renew --dry-run
SSL 인증서가 잘 적용된 것을 확인할 수 있다.
인증서를 발급받으면서 2번 redirect를 선택했기 때문에
http://~~로 주소를 입력해도 https://~~로 redirect된다.
-- 틀린 부분이 있다면 알려주시면 감사하겠습니다! --