워드프레스 도메인 연결 — Cloudflare 설정부터 521 에러 해결까지
VPS에 워드프레스 설치까지 끝났다면, 이제 도메인을 연결해서 블로그를 세상에 공개할 차례다.
이 글에서는 Cloudflare에서 도메인을 구매하고, 서버에 연결하고, 접속까지 확인하는 전체 과정을 정리한다. 도메인 연결 후 발생하는 521 에러 해결 방법도 다룬다.
왜 Cloudflare에서 도메인을 사야 할까?
도메인을 판매하는 업체는 많다. 그중 Cloudflare를 추천하는 이유가 있다.
| 항목 | Cloudflare | 다른 업체 |
|---|---|---|
| 가격 | 원가 판매 (마진 0원) | 첫해만 싸고 갱신 비쌈 |
| 갱신 가격 | 매년 동일 | 2~3배 오르는 경우 많음 |
| CDN | 무료 포함 | 별도 설정 필요 |
| HTTPS | 무료 SSL 제공 | 별도 인증서 필요 |
| 서버 보호 | 실제 IP 숨김 + DDoS 차단 | 별도 서비스 필요 |
도메인 + CDN + SSL + 보안을 한 곳에서 관리할 수 있다. .com 도메인 기준 연간 약 $10.46 (약 14,000원)이다.
도메인 구매 방법
- Cloudflare 계정 생성 및 로그인
- 왼쪽 메뉴 Domain Registration → Register Domains
- 원하는 도메인 검색 → 구매 완료
구매 자체는 일반 쇼핑몰처럼 간단하다.
도메인 연결 — 4단계
도메인을 샀으면 서버에 연결해야 한다. 총 4단계다.
1단계: DNS 설정 (Cloudflare)
도메인이 서버를 가리키도록 DNS 레코드를 추가한다. “이 도메인으로 접속하면 → 이 서버로 보내라”는 안내판을 세우는 것이다.
Cloudflare 대시보드에서:
- 도메인 선택 → DNS → Records
- Add record 클릭
- 아래와 같이 설정:
| 항목 | 값 |
|---|---|
| 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 대시보드에서:
- 도메인 선택 → SSL/TLS
- 암호화 모드를 Full → Flexible로 변경
이거 하나 바꾸면 바로 접속된다.
Flexible 모드의 작동 방식:
- 방문자 → Cloudflare: HTTPS (자물쇠 표시, 안전)
- Cloudflare → 서버: HTTP (서버에 인증서 불필요)
방문자 입장에서는 HTTPS로 안전하게 접속되고, 서버는 별도 SSL 설정 없이 운영할 수 있다.
연결 완료 확인
| 항목 | 확인 |
|---|---|
| 도메인 접속 | 브라우저에서 도메인 입력 → 워드프레스 화면 |
| HTTPS | 주소창에 자물쇠 아이콘 표시 |
| 관리자 페이지 | https://도메인/wp-admin 접속 가능 |
| 서버 IP 숨김 | ping 도메인 → Cloudflare IP가 나오면 정상 |
정리
도메인 연결 순서:
- Cloudflare에서 도메인 구매 — 원가 판매, CDN/SSL 무료 포함
- DNS 레코드 추가 — A 레코드로 서버 IP 연결 (Proxied 켜기)
- Nginx 설정 수정 — server_name을 도메인으로 변경
- WordPress URL 변경 — WP-CLI 또는 관리자 페이지에서 수정
- 521 에러 시 — Cloudflare SSL 모드를 Flexible로 변경
다음 단계는 워드프레스 블로그를 본격적으로 꾸미고, 필수 페이지를 만드는 것이다.