도메인

김희영·2025년 11월 12일

토막개발지식

목록 보기
22/27

nslookup과 도메인의 A레코드

도메인과 레코드는 1:N 관계다. (=도메인 1개에 여러 종류의 DNS 레코드가 연결될 수 있음)
nslookup 도메인 하면 도메인에 붙은 A레코드들을 볼 수 있다.

도메인: example.com 같은 주소 (사용자들이 쓰기 편하다!)
→ 돈 주고 도메인 등록 업체(Registrar)에서 구매

네임서버(Name Server):
→ 도메인을 실제 서버 IP와 연결해주는 역할
→ 등록된 A 레코드 보고 연결

A 레코드(A Record):
→ 도메인 이름을 특정 IP 주소와 연결
→ 예: www.example.com → 123.45.67.89
등록 위치: 네임서버에서 설정

DNS 레코드: 도메인과 관련된 설정 정보 (A 레코드, CNAME 등)

-> 도메인 하나에 여러 IP를 붙일 수 있다. = 도메인 하나로 여러 서버 연결 가능

+) 여러 개의 A 레코드를 연결하면, DNS 서버는 랜덤 방식이나 라운드 로빈 방식으로 IP를 반환함.

돈 주고 도메인 사고, 네임서버에 A레코드를 등록한다. 참고로 네임 서버는 도메인 판매 측에서 써도 되고, 그냥 따로 써도 된다. 따로 쓰면 관리에 용이하다. (여러 도메인을 한 곳의 네임서버에서 관리 가능)
난 돈 없는데!


nip.io로 도메인 써보기

nip.io를 쓰면 도메인 구매 없이 도메인을 써볼 수 있다!

<IP 주소>.nip.io 이런 형식으로 하면 알아서 IP 주소에 매핑해주는 서비스다. 그리고 공짜다.

하지만 보안적 측면이나 형식 때문에 ip 주소를 입력해야 한다는 문제는 여전히 있다...


nginx와 도메인

nginx는 포트 번호로 사이트를 여러개 운영 할 수 있다.
근데 도메인으로도 이게 가능하다!

도메인명-IP 주소.nip.io 여기서 IP 주소.nip.io 이 부분은 nip.io 쓰려고 있는거다. 앞에 도메인 명을 바꿈으로써 접속될 사이트를 바꿀 수 있다.

이걸 가상 호스트(Virtual Host)라고 한다.

echo -e "
server {
    listen 80;
    도메인명-IP 주소.nip.io;
    root /web/site1;
}

" > source/etc/nginx/conf.d/vhost.conf

이렇게 설정하면 같은 포트여도 도메인 따라서 주는 게 달라진다.
생각해보면 url에 포트를 일일히 입력하지는 않으니까 도메인 따라 달라지는 게 유리하다.
(naver.com 하지 naver.com:80 안 하잖냐)


리버스 프록시

이전의 그림을 보자

여기서 nginx는 받은 요청을 조건에 따라 스프링부트에게 토스한다.
이때 nginx 가 정적파일캐시, SSL관련처리를 한 후 요청을 앱서버에게 토스 할 수 있는데, 이를 리버스 프록시라고 한다.

이렇게 미리 처리하면 캐싱을 쓸 수 있고, 보안이나 진입점 관리에 용이하다.

+) SSL(Secure Sockets Layer): 보안 소켓 계층. 웹사이트와 사용자의 브라우저 간 통신을 암호화함.
+) 참고로 app을 먼저 띄우고 nginx 띄워야 nginx가 인식한다.

profile
내는 반드시 엄청난 개발자가 되고 말것어

0개의 댓글