도메인 이름과 IP 주소의 짝을 적어 두는 OS(Operating System)의 텍스트 파일. 이름을 해석할 때 DNS 서버보다 먼저 참조되므로, 특정 도메인을 내 컴퓨터나 다른 IP로 보내는 데 쓴다. macOS·Linux는 /etc/hosts, Windows는 C:\Windows\System32\drivers\etc\hosts다.
127.0.0.1 localhost
127.0.0.1 local.example.com쓰는 경우: 로컬을 운영 도메인처럼
운영 API가 Domain=example.com 쿠키로 로그인을 유지하고 *.example.com만 CORS(Cross-Origin Resource Sharing)로 허용한다면, localhost:3000에서 띄운 프런트는 그 쿠키를 받지도 보내지도 못한다. hosts 파일에 local.example.com → 127.0.0.1을 적고 http://local.example.com:3000으로 접속하면:
다만 쿠키에 Secure가 붙어 있으면 HTTPS(HTTP Secure)가 필요하므로 로컬 인증서(TLS 인증서(Transport Layer Security) 대신 mkcert 같은 도구)를 함께 써야 한다.
바꾼 뒤
sudo vi /etc/hosts # 관리자 권한으로 편집
sudo dscacheutil -flushcache # macOS DNS 캐시 비우기
sudo killall -HUP mDNSResponder브라우저도 자체 DNS 캐시를 갖고 있어 바로 반영되지 않으면 브라우저를 다시 열어 본다. 다 쓴 항목은 지워 둔다. 남겨 두면 나중에 실제 사이트 대신 로컬로 가는 혼란이 생긴다.