서브도메인 ssl 적용 - seobeudomein ssl jeog-yong

👉Http

- HyperText Transfer Protocol

- W3 상에서 정보를 주고 받을 수 있는 프로토콜

- 주로 TCP를 사용하고 HTTP/3부터는 UDP를 사용하며, 80번 포트를 사용

- 브라우저와 서버 사이에 정보를 평문으로 전송 ( 네트워크에서 전송되는 정보를 엿볼 수 있다)

👉Http

- HyperText Transfer Protocol over Secure Socket Layer

- TCP/IP 443포트 사용

- 기존 HTTP레이어에서 SSL(TLS) 프로토콜을 얹어 평문 데이터를 암호화함

- 소켓 통신에서 일반 텍스트를 이용하는 대신에, SSL이나 TLS 프로토콜을 통해 세션 데이터를 암호화 -> 데이터의 적절한 보호 보장

🌜 HTTPS를 사용하는 이유

- 기밀성 : HTTPS는 인터넥과 같은 공공 매체에서 두 참여자 간의 통신을 보호

- 무결성 : HTTPS는 변조되지 않은 정보로 목적지에 도달하게 함

- 인증 : HTTPS를 통해 웹 사이트의 진위 여부를 확인할 수 있음


🌜HTTPS보안이 뛰어난 이유!

👉SSL(Secure Socket Layer) 인증서

: 사용자가 사이트에 제공하는 정보를 암호화하는데, 데이터를 암호로 바꿔준다!

: 전송된 데이터는 중간에서 누가 훔쳐가더라도 데이터가 암호화 되어 있기 때문에 해독할 수 없다.

: TLS(Transport Layer Security)의 과거 명칭

👉 TLS는 SSL 3.0을 기초해서 IETF가 만든 프로토콜로 이는 SSL 3.0을 보다 안전하게 하고 프로토콜의 스펙을 더 정확하고 안정성을 높이는 목적으로 고안됨.


👉Let's Encrypt

Let's Encrypt는 무료의 TLS/SSL 인증서를 쉽게 가져오고 설치할 수 있는 방법을 제공하는 

CA(인증 기관)으로, 웹 서버에서 암호화된 HTTPS를 사용할 수 있게 도와준다.

사용자에게 Certbot라는 소프트웨어를 제공함으로써 구현할 수 있게 도와준다.

1. Certbot 설치

Certbot를 위한 repository(저장소)를 추가

$ sudo apt update
$ sudo apt upgrade
$ sudo add-apt-repository ppa:certbot/certbot

Certbot의 Nginx 패키지를 설치

$ sudo apt install python-certbot-nginx

2. Nginx Configuration 설정

Nginx 기본 설정 파일에 들어가서 인증서를 적용할 도메인 이름을 설정

$ sudo vim /etc/nginx/sites-available/default

변경을 하고 테스트를 진행

$ sudo nginx -t

Nginx를 다시 로드

sudo systemctl reload nginx

3. 방화벽의 HTTPS 허용

Ubuntu는 기본적으로 ufw라는 기본적인 방화벽을 가지고 있다고 한다.

HTTPS에 대한 방화벽 허용 설정이 필요한데, AWS EC2 인스턴스의 경우는 기본으로 방화벽이

비활성화되어 있다고 함.

$ sudo ufw status
서브도메인 ssl 적용 - seobeudomein ssl jeog-yong
서브도메인 ssl 적용 - seobeudomein ssl jeog-yong
서브도메인 ssl 적용 - seobeudomein ssl jeog-yong

1 : HTTP 연결을 HTTPS로 리다이렉트 하지 않음

2 : HTTP연결을 HTTPS로 리다이렉트함

👉 2 선택


도메인에 대한 서버를 테스트를 할 수 있는 url

4. SSL Lab Server Test로 이동하여 테스트

www.ssllabs.com/ssltest/

SSL Server Test (Powered by Qualys SSL Labs)

SSL Server Test This free online service performs a deep analysis of the configuration of any SSL web server on the public Internet. Please note that the information you submit here is used only to provide you the service. We don't use the domain names or

www.ssllabs.com

오류가 난다!!

--> SSL이 사용하는 HTTPS에 대한 포트포워딩을 안해주었기 때문에

서브도메인 ssl 적용 - seobeudomein ssl jeog-yong

👉인스턴스를 생성했던 aws로 가서 보안설정으로 들어가서 443에 대한 포트를 열어준다.

서브도메인 ssl 적용 - seobeudomein ssl jeog-yong
서브도메인 ssl 적용 - seobeudomein ssl jeog-yong

다시 www.ssllabs.com/ssltest/ 여기로 들어가서 검사!

SSL Server Test (Powered by Qualys SSL Labs)

SSL Server Test This free online service performs a deep analysis of the configuration of any SSL web server on the public Internet. Please note that the information you submit here is used only to provide you the service. We don't use the domain names or

www.ssllabs.com

서브도메인 ssl 적용 - seobeudomein ssl jeog-yong

5. Certbot 자동 갱신 확인

서브도메인 ssl 적용 - seobeudomein ssl jeog-yong

오류가 나지 않고 모든 설정이 잘 완료되었다!

👉Nginx의 서버를 restart 

$ sudo service nginx restart

주소창에 yujindonut.shop으로 치면 https://로 적용이 되어있는것을 잘 알 수 있다.

참고