로컬에서 도메인 구입없이 내 PC에 도메인 사용하기
로컬에서 개발중인데 개발 서버의 CORS 세팅으로 인해 사용이 곤란할 때처럼 도메인이 필요한 때가 있습니다.
이 때, 담당자에게 자신의 PC에 도메인을 연결해달라고 요청하거나 별도로 구매해 세팅을 해야할까요?
아닙니다! 어렵지 않은 방법으로 충분히 테스트가 가능합니다. 🙌
도메인이 사용되는 과정
우선 이 방법을 이해하기 위해서 도메인이 어떻게 동작하는지를 간략하게 알아보겠습니다. 🧐
1. 왜 도메인을 사용할까?
IP를 이용해서 요청할 수 있지만, 식별이나 외우는데 어려움이 있어 도메인을 사용합니다.
2. 도메인은 어디에서 관리되고 있을까?
DNS(Domain Name System)에서 관리되고 있는데, 사용자들이 사용하는 ISP(Internet Service Provider, KT/SK/LG 등)의 DNS나 구글의 DNS(8.8.8.8)를 많이 사용하고 있습니다.
UNIX 에서는 cat /etc/resolv.conf
명령어를 이용해 어떤 DNS를 사용하는지 확인할 수 있습니다.
도메인 네임 시스템(Domain Name System, DNS)은 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하기 위해 개발되었다. 특정 컴퓨터(또는 네트워크로 연결된 임의의 장치)의 주소를 찾기 위해, 사람이 이해하기 쉬운 도메인 이름을 숫자로 된 식별 번호(IP 주소)로 변환해 준다. 도메인 네임 시스템은 흔히 “전화번호부”에 비유된다. 인터넷 도메인 주소 체계로서 TCP/IP의 응용에서, www.example.com과 같은 주 컴퓨터의 도메인 이름을 192.168.1.0과 같은 IP 주소로 변환하고 라우팅 정보를 제공하는 분산형 데이터베이스 시스템이다.
3. DNS를 어떻게 이용할까?
도메인을 사용하게 되면 DNS에 도메인을 질의해 목적지의 IP를 받아 사용하게 됩니다.
nslookup
명령어를 이용해 DNS에 질의한 결과를 확인해 볼 수 있습니다.
그래서 어떻게 해야할까?
매 요청을 DNS에 질의하는 것은 아닙니다.
우선 PC에 도메인이 등록되어 있는지 확인 후
존재하지 않는 도메인이면 DNS에 질의하게 됩니다.
이미 PC에 등록된 도메인을 예로 들자면 localhost 가 있습니다.
localhost에 요청하면 Loopback 주소인 127.0.0.1로 요청하게 되는 것이죠
localhost가 127.0.0.1이라는 정보는 /etc/hosts
에 저장되어 있습니다! 😯
이처럼 우리는 /etc/hosts
를 이용하면 문제를 해결할 수 있습니다. 👏
127.0.0.1 에 테스트를 위한 도메인을 입력합니다.
(파일 수정을 위해 관리자 권한이 필요할 수 있습니다.)
저는 local.example.com
을 사용했습니다.
제 블로그는 로컬 환경에서 4000 포트를 사용해 구동하기 때문에,
브라우저를 이용해 블로그에 요청해 테스트해 보았습니다.
(http://local.example.com:4000)
/etc/hosts
적용 전
/etc/hosts
적용 후
/etc/hosts
에 local.example.com
을 추가하니 정상적으로 로컬 PC로 요청하고 응답을 받는 것을 확인할 수 있습니다.
주의할 점도 있습니다
-
내 로컬 PC에서만 적용된 것이기 때문에,
이 url을 다른 곳에 배포한다면 이런 설정 없이는 사용할 수 없습니다. -
물론 127.0.0.1이 아닌 다른 IP도 등록할 수 있습니다.
이런 방법을 사용하면 큰 어려움 없이 비용을 들이지 않고
로컬에서 테스트에 필요한 환경을 만들 수 있습니다.
댓글남기기