localhost와 127.0.0.1의 차이점, 놓치면 안 될 네트워크 기초!

by DD
5개월 전
조회수 188

localhostDNS를 거쳐 IP를 찾는 반면, 127.0.0.1은 루프백 주소로 바로 연결됨

Node.js v17 이후 localhost 해석 방식 변경으로 연결 오류 발생 가능성 존재

/etc/hosts 파일 수정으로 특정 사이트 차단 및 로컬 도메인 설정 가능

localhost와 127.0.0.1의 근본적인 차이

localhost도메인 네임으로, OS가 DNS 또는 `/etc/hosts` 파일을 참조하여 IP 주소를 찾는다. 따라서, DNS 설정에 따라 다른 IP로 매핑될 수 있다. 반면, 127.0.0.1은 루프백 주소로, OS 내부에서 직접 처리되어 네트워크 인터페이스를 거치지 않는다.

Node.js와 MySQL에서 발생한 문제

Node.js v17부터 localhost 해석 방식 변경으로 IPv6 우선 적용되어, IPv4 기반 서버 연결 실패 사례가 발생했다. MySQL 역시, 기본적으로 IPv4만 리스닝하여 localhost로 접속 시 연결 오류가 발생했다. 따라서, 명시적인 IP 주소 사용이 필요하다.

/etc/hosts 파일 활용 팁

`/etc/hosts` 파일을 수정하여 특정 사이트 접속을 차단하거나, 로컬 환경에서 커스텀 도메인을 설정할 수 있다. 구체적으로, IP 주소도메인을 매핑하여, DNS 질의 없이 원하는 사이트로 연결되도록 한다. 따라서, 개발 및 테스트 환경을 유연하게 구성할 수 있다.

[Network] localhost vs 127.0.0.1