VPS에 워드프레스 설치까지 끝났다면, 이제 도메인을 연결해서 블로그를 세상에 공개할 차례다.

이 글에서는 Cloudflare에서 도메인을 구매하고, 서버에 연결하고, 접속까지 확인하는 전체 과정을 정리한다. 도메인 연결 후 발생하는 521 에러 해결 방법도 다룬다.

왜 Cloudflare에서 도메인을 사야 할까?

도메인을 판매하는 업체는 많다. 그중 Cloudflare를 추천하는 이유가 있다.

항목 Cloudflare 다른 업체
가격 원가 판매 (마진 0원) 첫해만 싸고 갱신 비쌈
갱신 가격 매년 동일 2~3배 오르는 경우 많음
CDN 무료 포함 별도 설정 필요
HTTPS 무료 SSL 제공 별도 인증서 필요
서버 보호 실제 IP 숨김 + DDoS 차단 별도 서비스 필요

도메인 + CDN + SSL + 보안을 한 곳에서 관리할 수 있다. .com 도메인 기준 연간 약 $10.46 (약 14,000원)이다.

도메인 구매 방법

  1. Cloudflare 계정 생성 및 로그인
  2. 왼쪽 메뉴 Domain Registration → Register Domains
  3. 원하는 도메인 검색 → 구매 완료

구매 자체는 일반 쇼핑몰처럼 간단하다.

도메인 연결 — 4단계

도메인을 샀으면 서버에 연결해야 한다. 총 4단계다.

1단계: DNS 설정 (Cloudflare)

도메인이 서버를 가리키도록 DNS 레코드를 추가한다. “이 도메인으로 접속하면 → 이 서버로 보내라”는 안내판을 세우는 것이다.

Cloudflare 대시보드에서:

  1. 도메인 선택 → DNS → Records
  2. Add record 클릭
  3. 아래와 같이 설정:
항목
Type A
Name @
IPv4 address 서버 IP 주소
Proxy status Proxied (주황색 구름)

Proxied로 설정하면 Cloudflare가 실제 서버 IP를 숨겨준다. 보안상 반드시 켜두자.

www 서브도메인도 추가하려면 같은 방식으로 Name만 www로 하나 더 만들면 된다.

2단계: Nginx 도메인 설정 (서버)

서버 쪽에서도 “나는 이 도메인이야”라고 알려줘야 한다.

Nginx 설정 파일을 수정한다.

sudo nano /etc/nginx/sites-available/wordpress

server_name 부분을 IP에서 도메인으로 변경한다.

server {
    listen 80;
    server_name daebakcode.com www.daebakcode.com;
    root /var/www/wordpress;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-params.conf;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

설정 적용:

sudo nginx -t
sudo systemctl reload nginx

3단계: WordPress URL 변경

워드프레스 내부에서도 사이트 주소를 도메인으로 바꿔야 한다.

sudo -u www-data wp option update siteurl 'https://도메인주소' --path=/var/www/wordpress
sudo -u www-data wp option update home 'https://도메인주소' --path=/var/www/wordpress

또는 워드프레스 관리자 페이지 → 설정일반에서 WordPress 주소와 사이트 주소를 변경해도 된다.

4단계: 접속 테스트

브라우저에서 도메인을 입력해서 워드프레스 화면이 나오는지 확인한다.

DNS 반영에 최대 몇 분 걸릴 수 있다. 바로 안 뜨면 잠시 기다려보자.

521 에러 해결

도메인 연결 후 https://도메인주소에 접속하면 521 에러가 나는 경우가 있다.

“Web server is down” — 웹서버가 죽었다는 메시지인데, 실제로 서버는 멀쩡히 돌아가고 있다.

원인: Cloudflare SSL 모드

모드 작동 방식 문제
Full Cloudflare → 서버를 HTTPS(443)로 접속 서버에 SSL 인증서 없으면 실패
Flexible Cloudflare → 서버를 HTTP(80)로 접속 서버에 인증서 없어도 OK

서버에 SSL 인증서를 별도로 설치하지 않은 상태에서 Cloudflare SSL 모드가 Full로 되어 있으면, Cloudflare가 443 포트로 접속을 시도하지만 서버가 응답하지 못해서 521 에러가 발생한다.

해결 방법

Cloudflare 대시보드에서:

  1. 도메인 선택 → SSL/TLS
  2. 암호화 모드를 Full → Flexible로 변경

이거 하나 바꾸면 바로 접속된다.

Flexible 모드의 작동 방식:

  • 방문자 → Cloudflare: HTTPS (자물쇠 표시, 안전)
  • Cloudflare → 서버: HTTP (서버에 인증서 불필요)

방문자 입장에서는 HTTPS로 안전하게 접속되고, 서버는 별도 SSL 설정 없이 운영할 수 있다.

연결 완료 확인

항목 확인
도메인 접속 브라우저에서 도메인 입력 → 워드프레스 화면
HTTPS 주소창에 자물쇠 아이콘 표시
관리자 페이지 https://도메인/wp-admin 접속 가능
서버 IP 숨김 ping 도메인 → Cloudflare IP가 나오면 정상

정리

도메인 연결 순서:

  1. Cloudflare에서 도메인 구매 — 원가 판매, CDN/SSL 무료 포함
  2. DNS 레코드 추가 — A 레코드로 서버 IP 연결 (Proxied 켜기)
  3. Nginx 설정 수정 — server_name을 도메인으로 변경
  4. WordPress URL 변경 — WP-CLI 또는 관리자 페이지에서 수정
  5. 521 에러 시 — Cloudflare SSL 모드를 Flexible로 변경

다음 단계는 워드프레스 블로그를 본격적으로 꾸미고, 필수 페이지를 만드는 것이다.