DNS (Domain Name System)

인터넷에서 도메인 이름(예: example.com)을 IP 주소(예: 1.2.3.4)로 변환하는 시스템

웹 브라우저나 애플리케이션이 도메인 이름으로 서버에 접속할 때,

DNS 서버에 요청하여 해당 도메인의 IP 주소를 알아냄

 

/etc/hosts 파일

컴퓨터 내부에서 DNS 조회 없이 도메인 이름과 IP 주소를 직접 매핑하는 파일

이 파일에 특정 도메인 이름과 IP 주소를 등록하면, 해당 컴퓨터에서는 DNS 서버에 문의하지 않고

/etc/hosts 파일의 정보를 사용하여 접속함

 

import aiohttp
import asyncio

async with aiohttp.ClientSession() as session:
    async with session.get('http://example.com') as response:
        print("응답 상태 코드:", response.status)
        print("응답 내용:", await response.text())

위 코드는 url에 지정된 주소로 HTTP POST 요청을 보냄

 

url에 도메인 이름(예: example.com)이 사용되었다면,

애플리케이션은 해당 도메인의 IP 주소를 알아내야 함

DNS 설정이 제대로 되어 있지 않으면 Name or Service not known 오류가 발생할 수 있음

 

url에 IP 주소(예: 1.2.3.4)가 직접 사용되었다면,

도메인 이름을 IP 주소로 변환하는 과정이 필요하지 않음

 

Docker Compose에서 extra_hosts 설정은

컨테이너 내부의 /etc/hosts 파일에 특정 호스트 이름과 IP 주소의 매핑을 추가할 수 있음

 

version: "3"
services:
  web:
    image: nginx:latest
    extra_hosts:
      - "example.com:1.2.3.4"

 

 

'네트워크' 카테고리의 다른 글

Keepalived + HA Proxy 이중화 구성  (0) 2025.06.12
[네트워크] CDN이란?  (0) 2023.01.20
[네트워크] REST API란  (0) 2023.01.20