Hosts 파일 편집 안하고 가상 도메인 만들기

최근에 번역 중인 "Edge Computing Systems with Kubernetes"라는 책에서 발견한 유용한 서비스가 있어 공유해봅니다.

로컬 또는 개발 환경에서 웹 사이트를 띄우려고 할 때, 특히 요즈음은 HTTPS를 기본으로 사용하려다보니 IP 주소만으로는 충분하지 않고, 어떤 형태로든 가상 DNS 레코드를 만들어야 하는 경우가 생깁니다. 이럴 때 일부러 hosts 파일을 편집하거나 실제 정규 DNS 레코드를 만들어 관리하는 것은 번거롭기도하고 부담이 되는면이 있는데요, nip.io 서비스를 이용하면 쉽게 해결할 수 있습니다.

동작 원리는 간단합니다. 예를 들어, 127.0.0.1에 대한 가상 A 레코드가 필요하다면, 127.0.0.1.nip.io 라고 IP 주소 뒤에 .nip.io 접미사를 붙이기만 하면 정식 DNS A 레코드로 바로 인식되는 형태입니다. 또한, 가상 호스트/서브 도메인이 필요하면, IP 주소 앞에 이름을 붙이면 됩니다.

예를 들어, www라는 서브 도메인이 필요하다면, www.127.0.0.1.nip.io 로 쓰면 127.0.0.1로 그대로 연결됩니다. 여기에 더해, dot이 여러개 붙는 이름이 신경쓰인다면, www-127-0-0-1.nip.io 또는 www-7f000001.nip.io (127.0.0.1을 16진법 표기로 바꾸면 7f000001이 됩니다.)로 주소를 바꾸어 표기할 수 있으므로, DNS 이름을 해석하는 방법이 유연하지 못한 레거시 애플리케이션을 위해서도 충분한 대응책을 마련할 수 있습니다.

이렇게 주소를 만들어두면, 가상 호스트 발급/연결은 물론이고, Let’s Encrypt 같은 초단기 인증서 발급에도 잘 활용할 수 있으므로 개발 환경 안에서도 HTTPS/SSL 인증서 문제를 단순화하는데 도움이 될 수 있습니다.

그러나 일부 DNS 리바인딩 보호가 걸려있는 DNS 리졸버를 쓰는 경우 이 서비스가 제대로 작동하지 않을 수 있고, 일단은 인터넷 상의 서비스이므로 인터넷이 안되는 환경에서 nip.io DNS는 인식이 안되는 점을 기억해두셔야 하겠습니다.

https://nip.io/

6 Likes

api gateway 비슷할까요?

1 Like