HTTP 와 HTTPS 차이점

jjyu_my·2024년 3월 5일

HTML & CSS

목록 보기
16/19
post-thumbnail

📌 HTTP와 HTTPS의 차이점

HTTP와 HTTPS는 웹 서버와 클라이언트 간의 데이터 전송을 위해 사용되는 프로토콜입니다.

  • 보안
    HTTPS는 HTTP의 안전한 버전입니다. HTTPS는 SSL(Secure Socket Layer) 또는 TLS(Transport Layer Security) 프로토콜을 사용하여 데이터를 암호화합니다. 이는 중간자 공격(Man-In-The-Middle, MITM)으로부터 데이터를 보호합니다.

  • 포트 번호
    HTTP는 기본적으로 포트 80을 사용하는 반면, HTTPS는 포트 443을 사용합니다.

  • 성능
    초기 연결 설정에서 HTTPS는 암호화 키를 교환하는 추가 단계로 인해 HTTP보다 약간 느릴 수 있습니다. 그러나 최신 웹 최적화 기술과 함께 사용할 경우, 이 차이는 눈에 띄지 않을 정도로 줄어듭니다.

  • URL 접두사
    HTTP에서는 웹 주소가 http://로 시작하는 반면, HTTPS에서는 https://로 시작합니다.


📌 HTTPS 적용 방법

HTTPS를 적용하려면 SSL/TLS 인증서를 설치해야 합니다.
인증서는 웹사이트의 신뢰성을 보증하고, 데이터 암호화를 가능하게 하는 디지털 문서입니다.

  • 인증서 발급 받기
    인증서는 공인된 인증 기관(Certificate Authority, CA)에서 발급받을 수 있습니다. Let's Encrypt는 무료 인증서를 제공하는 인기 있는 CA 중 하나입니다.

  • 웹 서버 설정
    인증서를 발급받은 후, 웹 서버에 설치해야 합니다. 서버의 종류(Nginx, Apache, IIS 등)에 따라 설치 과정이 다를 수 있습니다.

  • 리다이렉트 설정
    모든 HTTP 요청을 HTTPS로 리다이렉트하도록 웹 서버를 설정하여 보안을 강화할 수 있습니다.

  • HSTS 설정 (선택적)
    HTTP Strict Transport Security(HSTS)를 설정하여 브라우저가 도메인과의 통신을 항상 HTTPS를 통해서만 수행하도록 할 수 있습니다.

  • 웹 사이트 테스트
    설정 후, SSL 서버 테스트 도구를 사용하여 웹 사이트의 HTTPS 구성을 테스트할 수 있습니다.


📝 예시: Let's Encrypt를 사용한 HTTPS 적용 (Nginx)

아래와같은 과정을 통해 HTTPS를 적용하면 웹 사이트의 보안이 강화되고, 사용자 데이터를 보호할 수 있다.

1️⃣ Certbot 설치
Let's Encrypt에서 제공하는 Certbot 도구를 사용하여 인증서를 쉽게 설치하고 관리할 수 있습니다.

sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository universe
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install certbot python-certbot-nginx

2️⃣ 인증서 발급 및 설치
다음 명령어를 실행하여 Nginx에 대한 인증서를 자동으로 발급받고 설치할 수 있습니다.

sudo certbot --nginx

Certbot은 도메인 이름을 묻고, 인증서를 발급받은 후 Nginx 설정을 자동으로 업데이트합니다.

3️⃣ 자동 갱신 설정
Let's Encrypt 인증서는 90일마다 갱신해야 합니다.
Certbot은 자동 갱신을 위한 크론 작업을 설정합니다.


profile

0개의 댓글