← 글 목록

notes

DNS Settings

DNS 레코드·도메인 연결 설정과 전파 확인 시 주의점 메모.

1. Vercel 사용 시:

  • Vercel 대시보드 접속
  • 해당 프로젝트 선택
  • Settings > Domains 메뉴로 이동
  • Add Domain 버튼 클릭
  • 도메인 입력 후 Add
  • Vercel이 제공하는 네임서버 정보를 도메인 제공업체의 DNS 설정에 등록

2. AWS 사용 시:

  • Route 53 서비스로 이동
  • Hosted zones 생성
  • 도메인 이름 입력
  • 레코드 생성:
  • A 레코드: IPv4 주소 연결
  • CNAME: 서브도메인 연결
  • 도메인 제공업체에서 AWS 네임서버 정보 등록

3. Netlify 사용 시:

A 레코드

type: A name: @ value: [서버 IP 주소]

www 서브도메인용 CNAME

type: CNAME name: www value: [도메인 또는 서버 주소]

/etc/nginx/sites-available/your-domain.conf

server {
listen 80;

server_name [yourdomain.com](http://yourdomain.com/) [www.yourdomain.com](http://www.yourdomain.com/);

 location / {
    proxy_pass <http://localhost:3000>;  # 실제 애플리케이션 포트
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
  }
}

DNS 전파 확인

dig yourdomain.com nslookup yourdomain.com

SSL 인증서 확인

curl -I https://yourdomain.com

# 1. 방화벽 설정 확인
sudo ufw status
sudo ufw allow 80
sudo ufw allow 443

# 2. Nginx 상태 확인
sudo nginx -t
sudo systemctl status nginx

# 3. 도메인 연결 테스트
ping yourdomain.com
curl -v yourdomain.com

docker DNS settings


# docker-compose.yml
version: '3'
services:
  nginx:
    image: nginx:latest
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
      - ./certbot/conf:/etc/letsencrypt
      - ./certbot/www:/var/www/certbot
    networks:
      - app-network

  web:
    build: .
    ports:
      - "3000:3000"
    networks:
      - app-network

networks:
  app-network:
    driver: bridge

nginx

nginx.conf

http {
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
    location / {
        proxy_pass <http://web:3000>;  # Docker 서비스 이름 사용
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}
}

# docker-compose.yml에 certbot 서비스 추가
services:
  certbot:
    image: certbot/certbot
    volumes:
      - ./certbot/conf:/etc/letsencrypt
      - ./certbot/www:/var/www/certbot
    depends_on:
      - nginx
    
      #!/bin/bash
domains=(yourdomain.com www.yourdomain.com)
email="your-email@example.com" # SSL 인증서 관련 이메일

# 인증서 발급
docker-compose run --rm certbot certonly \
  --webroot -w /var/www/certbot \
  --email $email \
  --agree-tos --no-eff-email \
  -d ${domains[0]} -d ${domains[1]}
# 네트워크 생성
docker network create app-network

# 컨테이너 실행
docker-compose up -d

# 인증서 갱신
docker-compose run --rm certbot renew

0 12 * * * root docker-compose -f /path/to/docker-compose.yml run --rm certbot renew >> /var/log/certbot-renew.log