도메인 네임 시스템(Domain Name System, DNS)은 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하기 위해 개발되었다. 특정 컴퓨터(또는 네트워크로 연결된 임의의 장치)의 주소를 찾기 위해, 사람이 이해하기 쉬운 도메인 이름을 숫자로 된 식별 번호(IP 주소)로 변환해 준다. 도메인 네임 시스템은 흔히 "전화번호부"에 비유된다. 인터넷 도메인 주소 체계로서 TCP/IP의 응용에서, www.example.com과 같은 주 컴퓨터의 도메인 이름을 192.168.1.0과 같은 IP 주소로 변환하고 라우팅 정보를 제공하는 분산형 데이터베이스 시스템이다.
인터넷은 2개의 주요 이름공간을 관리하는데, 하나는 도메인 네임 계층[1], 다른 하나는 인터넷 프로토콜(IP) 주소 공간이다.[2] 도메인 네임 시스템은 도메인 네임 계층을 관리하며 해당 네임 계층과 주소 공간 간의 변환 서비스를 제공한다. 인터넷 네임 서버와 통신 프로토콜은 도메인 네임 시스템을 구현한다.[3] DNS 네임 서버는 도메인을 위한 DNS 레코드를 저장하는 서버이다. DNS 네임 서버는 데이터베이스에 대한 쿼리의 응답 정보와 함께 응답한다.
로컬에서의 설정
간단하게 DNS 개념을 이해하기 위해서 아래의 경로에 hosts 파일을 수정해보는 것으로 테스트가 가능합니다.
C:\Windows\System32\drivers\etc\hosts
간단하게 hosts 파일내 설정을 테스트 해보겠습니다. ( 127.0.0.1 = localhost )
#127.0.0.1 daum.net
localhost daum.net
다음과 같이 작성을 하고 브라우저에서 http://daum.net 을 입력하면 daum 메인이 뜨지 않고 접속이 안된다고 뜰 겁니다.
우리 로컬에 간단하게 웹서버를 설치하여 설정한 daum.net 연결되는 페이지를 본다면 이해가 더 될 거예요
1-1. Sts - spring boot web
eclipse 기반 spring 툴 설치 후 로컬 실행 후 화면
sts 다운로드 : https://spring.io/tools
설치 후 create a project > spring starter project 선택
spring web 선택 후 finish
80 포트를 사용하기 위한 설정 demo > src > main > resources > application.properties 설정
사용할 포트 설정 > server.port = 80
간단하게 보여줄 index.html 파일 작성 > Body 안에 Hello World! 작성
Boot Dashboard > local > demo 서버 start
1-2. Virtualbox - ubuntu
간단하게 docker pull nodejs -> docker run nodejs 실행 후 화면..
url 에 daum.net 입력했는데 이상한 화면이 뜬게 보이쥬?(말투가 왜 백주부쥬)
내 PC에서 방금 설정해봤던 걸 이제 전 세계 사람들에게 나 daum.net 찜할거야. 라고 하는게 DNS 설정 이라고 생각하심 됩니다~
2. Free DNS 설정
자 그럼 글로벌한 DNS 설정은 어떻게 하느냐?
방법은 여러가지가 있는데 간단하게 Free dns 연결 사이트를 이용해서 해보도록 해볼게요..
도메인 네임서버 설정
무료 DNS 사이트에 가입하고 로그인 한뒤 도메인 추가하기 버튼을 누릅니다.
등록할 네임서버 정보
관리할 도메인을 추가해주고 추가완료를 클릭해 줍니다.
관리하고 있는 도메인에 로그인 합니다. ( 저는 가비아 )
로그인 > 서비스 관리 > 관리툴 선택 합니다.
네임서버의 설정 버튼을 클릭 합니다.
DNS의 등록할 네임서버 정보를 입력해 주고 적용해 줍니다.
마지막으로 DNS 사이트에서 IP를 등록해 줍니다.
myIpAddress 라는 사이트에서 집 외부 IP를 알 수 있습니다.
IP등록은 호스트IP관리(A레코드) 탭에서 등록 가능 합니다.
로컬에서 개발 후 DNS와 IP를 연결한 서버로 우리가 소스를 올려서 해당 웹 페이지를 볼 수 있는 것 입니다 여러분~
따라서 해보면 너무 좋지만(돈들어유.. 내돈..)
로컬에서 개발해서 어디서 어떻게 쓰이는지에 대한 이해를 하는게 포인트 입니다. ^^
급할 것 없는 웹개발자 포스팅은 느리지만 계속 됩니다.
감사합니다.
'웹개발자 v2.0' 카테고리의 다른 글
캐싱 서비스(Caching service) 란 (0) | 2020.07.29 |
---|---|
데이터베이스(Database)란 (0) | 2020.07.29 |
WAS(Web Application Server) 란 (0) | 2020.07.29 |
로드 밸런서(Load Balancer)란 (0) | 2020.07.29 |
웹 개발이란 (0) | 2020.07.29 |
댓글