stack-analysis
CHAPTER 101 / 120
읽기 약 2분
FUNCTION
HTTPS + TLS 1.3 완전 이해
핵심 개념
인증서·핸드셰이크·HSTS·Mixed Content — 안전한 통신 기반.
본문
TLS 1.3 핸드셰이크 (1-RTT)
[1] Client Hello
- 지원 cipher suites
- key share (ECDHE)
- TLS version
[2] Server Hello
- 선택된 cipher
- 서버 인증서
- key share
[3] Application Data
- 즉시 암호화된 통신
→ 1-RTT (TLS 1.2는 2-RTT)
→ 0-RTT 가능 (재연결 시)인증서 (Let's Encrypt)
무료 + 자동:
- Vercel: 자동
- Cloudflare: Universal SSL
- Let's Encrypt + certbot (자체)
certbot:
sudo certbot --nginx -d example.com -d www.example.com
# → 90일 자동 갱신
와일드카드:
certbot certonly --manual --preferred-challenges dns -d "*.example.com"HSTS (HTTPS 강제)
// next.config.js
module.exports = {
async headers() {
return [{
source: '/(.*)',
headers: [
{
key: 'Strict-Transport-Security',
value: 'max-age=63072000; includeSubDomains; preload',
},
],
}];
},
};
// HSTS Preload
// https://hstspreload.org 등록
// → 브라우저 영구 HTTPS 강제 (제거 불가)Mixed Content 검출
HTTPS 페이지에서 HTTP 리소스 로드:
- 이미지 → 브라우저 자동 차단 (또는 경고)
- script/css → 완전 차단
검증:
1. https://www.whynopadlock.com 검사
2. 브라우저 콘솔 — Mixed Content 경고
3. CSP report-uri로 자동 수집
// CSP로 자동 차단
Content-Security-Policy: upgrade-insecure-requests
// → http:// → https:// 자동 변환TLS 1.3 강제
# nginx
server {
ssl_protocols TLSv1.3 TLSv1.2; # TLS 1.0/1.1 제거
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers on;
# OCSP Stapling
ssl_stapling on;
ssl_stapling_verify on;
}인증서 모니터링
// 만료 30일 전 알림
import tls from 'tls';
async function checkCertExpiry(host: string) {
return new Promise<Date>((resolve, reject) => {
const socket = tls.connect({
host,
port: 443,
servername: host,
}, () => {
const cert = socket.getPeerCertificate();
socket.end();
resolve(new Date(cert.valid_to));
});
socket.on('error', reject);
});
}
// 매일 체크
const expiry = await checkCertExpiry('example.com');
const daysLeft = (expiry.getTime() - Date.now()) / 86400000;
if (daysLeft < 30) {
await alertOps(`Cert expiring in ${daysLeft} days`);
}다음 챕터
CH.102 "인증 아키텍처: Session vs JWT vs OAuth2".
AI 프롬프트
🤖 AI에게 잘 물어보는 법 — 모델·전략별 프롬프트
Claude
무료: Sonnet 4.6 / Pro $20/mo: Opus 4.6
내 코드의 HTTPS TLS 부분을 분석해서 실전 분석 + 개선 우선순위를 알려줘.
ChatGPT
무료: GPT-5.5 / Plus $20/mo: GPT-5.5 Pro
HTTPS TLS 관련 베스트 프랙티스 5가지를 비교 분석해서 패턴 추출를 알려줘.
Gemini
무료: 2.5 Flash / Pro $19.99/mo: 3.1 Pro
내 프로젝트 전체에서 HTTPS TLS 최적화 가능 위치를 보고해줘.
Grok
무료: Grok 4.1 / SuperGrok $30/mo
2026년 한국 시장의 HTTPS TLS 트렌드를 솔직히 알려줘.
⭐ 이것만 기억하세요
HTTPS + TLS 1.3 완전 이해는 이 3가지만 확실히 잡으세요
1.TLS 1.3 + Let's Encrypt = 무료 + 자동 + 빠름
2.HSTS + Preload = 브라우저 강제 HTTPS
3.Mixed Content는 upgrade-insecure-requests로 자동 처리
공유하기
진행도 101 / 120