모든 배포 가이드 배포

WordPress SSL 문제 해결: 모든 HTTPS 문제 해결하기

WordPress와 HTTPS는 보통 원활하게 작동하지만, 문제가 발생하면 오류가 혼란스러울 수 있습니다. 이 가이드는 모든 일반적인 WordPress SSL 문제와 해결 방법을 다룹니다.

초기 SSL 설정은 WordPress SSL 설치 가이드를 참고하세요.

ERR_TOO_MANY_REDIRECTS (리다이렉트 루프)

WordPress SSL 문제 1위. 브라우저에 “이 페이지가 작동하지 않습니다 — 너무 많이 리다이렉트되었습니다”라고 표시됩니다.

원인 1: 프록시 뒤에 있는 경우 (Cloudflare, 로드 밸런서)

프록시가 SSL을 종료하고 WordPress에 HTTP를 전달합니다. WordPress는 HTTP를 감지하고 HTTPS로 리다이렉트합니다. 프록시가 다시 HTTP를 전달합니다. 무한 루프.

해결 — wp-config.php에 추가 (/* That's all, stop editing! */ 앞에):

if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
    $_SERVER['HTTPS'] = 'on';
}

Cloudflare를 사용하는 경우: SSL 모드도 “Full” 또는 “Full (Strict)“로 설정하세요 — 절대 “Flexible”로 설정하지 마세요.

원인 2: 충돌하는 리다이렉트

.htaccess가 HTTPS로 리다이렉트하고, WordPress 플러그인(예: Really Simple SSL)도 리다이렉트하고, 서버 설정도 리다이렉트합니다. 3중 리다이렉트 = 루프.

해결: 리다이렉트 소스를 하나만 유지하세요. 권장: .htaccess 리다이렉트, 플러그인 리다이렉트 비활성화.

원인 3: WordPress URL 불일치

설정 → 일반http://로 되어 있지만 서버가 HTTPS를 강제하는 경우.

해결 — wp-config.php를 통해 업데이트:

define('WP_HOME', 'https://yourdomain.com');
define('WP_SITEURL', 'https://yourdomain.com');

혼합 콘텐츠 경고 (자물쇠 깨짐/누락)

HTTPS는 작동하지만 자물쇠 아이콘에 경고가 표시되거나 일부 리소스가 로드되지 않습니다.

원인: 페이지에서 이미지, 스크립트 또는 CSS를 http:// URL로 참조합니다 — 보통 마이그레이션 전에 데이터베이스에 저장된 것입니다.

빠른 해결: Really Simple SSL 플러그인

Really Simple SSL을 설치하고 활성화합니다 — http:// URL을 동적으로 재작성하고 upgrade-insecure-requests CSP 헤더를 추가합니다.

영구적 해결: 데이터베이스 검색-교체

# WP-CLI (권장)
wp search-replace 'http://yourdomain.com' 'https://yourdomain.com' --all-tables --precise

# 먼저 드라이 런으로 변경 사항 확인
wp search-replace 'http://yourdomain.com' 'https://yourdomain.com' --all-tables --dry-run

또는 GUI 방식으로 Better Search Replace 플러그인을 사용하세요.

추가 확인 사항:

  • 테마 파일(header.php, footer.php)에 하드코딩된 http:// URL
  • 위젯 콘텐츠 (텍스트 위젯, 사용자 정의 HTML)
  • 커스터마이저의 사용자 정의 CSS
  • 플러그인 설정 (소셜 공유 이미지, 로고 URL)

전체 혼합 콘텐츠 가이드 →

HTTPS 활성화 후 흰 화면 / 500 오류

원인 1: .htaccess 충돌

HTTPS 리다이렉트 규칙이 WordPress의 영구 링크 규칙과 충돌합니다.

해결: .htaccess 초기화:

# 현재 파일 이름 변경
mv .htaccess .htaccess.backup

# WordPress가 다시 생성
# 설정 → 영구 링크 → 저장 (변경 필요 없음)

그런 다음 상단에 HTTPS 리다이렉트만 다시 추가합니다:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

원인 2: 플러그인 충돌

보안 또는 캐싱 플러그인이 HTTPS 변경과 충돌할 수 있습니다.

해결: FTP를 통해 모든 플러그인 비활성화:

# 플러그인 디렉토리 이름 변경
mv wp-content/plugins wp-content/plugins.bak

사이트가 작동하면 다시 이름을 변경하고 플러그인을 하나씩 활성화하여 충돌을 찾습니다.

HTTPS 후 wp-admin 로그인 불가

원인: 쿠키 도메인 불일치

http://에 설정된 이전 쿠키가 https://에서 작동하지 않습니다.

해결:

// wp-config.php에 추가
define('FORCE_SSL_ADMIN', true);
define('COOKIE_DOMAIN', 'yourdomain.com');

그런 다음 도메인의 브라우저 쿠키를 삭제하거나 시크릿 창에서 시도합니다.

SSL 인증서 설치 후에도 WordPress가 HTTP 표시

원인: WordPress가 HTTPS를 인식하지 못함

인증서가 서버에 있지만 WordPress의 URL 설정이 여전히 http://입니다.

해결: 두 URL 모두 업데이트:

  1. wp-admin에 접근 가능한 경우: 설정 → 일반 → 두 URL을 https://로 변경
  2. wp-admin에 접근 불가한 경우: wp-config.php에 추가:
    define('WP_HOME', 'https://yourdomain.com');
    define('WP_SITEURL', 'https://yourdomain.com');
  3. wp-config.php가 작동하지 않는 경우: 데이터베이스 직접 업데이트:
    UPDATE wp_options SET option_value = 'https://yourdomain.com' WHERE option_name IN ('siteurl', 'home');

Elementor / 페이지 빌더에서 HTTPS 후 레이아웃 깨짐

페이지 빌더는 게시물 메타에 절대 URL을 저장합니다. HTTPS로 마이그레이션한 후 다음을 실행합니다:

wp search-replace 'http://yourdomain.com' 'https://yourdomain.com' --all-tables

Elementor의 경우 추가로 Elementor → Tools → Replace URL에서 http://https://로 업데이트합니다.

WooCommerce 결제가 HTTPS에서 작동하지 않음

원인 1: 혼합 콘텐츠가 결제 스크립트 차단

Stripe, PayPal 및 기타 결제 게이트웨이는 HTTPS를 요구하며 혼합 콘텐츠를 통해 로드되지 않습니다.

해결: 위의 데이터베이스 검색-교체를 실행하고 WooCommerce → 설정 → 결제에서 http:// 참조를 확인합니다.

원인 2: 보안 결제 강제 설정

WooCommerce에는 “Force secure checkout” 옵션이 있어 사이트 전체 HTTPS와 충돌할 수 있습니다.

해결: 전체 사이트가 HTTPS인 경우 이 옵션이 필요 없습니다. WooCommerce → 설정 → 고급 → 페이지 설정에서 체크를 해제합니다.

자주 묻는 질문

Really Simple SSL 플러그인이 필요한가요?

HTTP→HTTPS 전환을 쉽게 만들어 줍니다(특히 혼합 콘텐츠), 하지만 필수는 아닙니다. 데이터베이스 검색-교체를 실행하고 .htaccess에 리다이렉트를 설정하면 플러그인이 필요 없습니다. 플러그인은 매 페이지 로드마다 URL을 동적으로 재작성하므로 약간의 오버헤드가 있습니다.

인증서 설치 전과 후 중 언제 WordPress URL을 변경해야 하나요?

후에. 인증서를 설치하고 HTTPS가 작동하는지 먼저 확인합니다. 그런 다음 WordPress URL을 업데이트합니다. 인증서 준비 전에 URL을 업데이트하면 WordPress가 HTTPS를 제공하려고 하지만 할 수 없어서 관리자 접근이 차단될 수 있습니다.

캐싱 플러그인이 이전 HTTP 버전을 제공합니다

마이그레이션 후 모든 캐시를 삭제합니다:

  • WP Super Cache / W3 Total Cache / LiteSpeed Cache: 플러그인 설정에서 캐시 삭제
  • Cloudflare: Purge Everything
  • 서버 측 (Varnish, Nginx cache): 캐시 삭제 또는 서비스 재시작

몇 달 전에 마이그레이션했는데 Google이 여전히 HTTP URL을 표시합니다

Google Search Console에 HTTPS 사이트맵을 제출하세요. 모든 페이지의 <link rel="canonical"> 태그가 https://를 가리키는지 확인합니다. Google이 재색인하는 데 몇 주가 걸릴 수 있습니다 — 301 리다이렉트가 도움이 되지만 즉각적이지는 않습니다.

관련 기사

배포 2026-05-08
WordPress에 SSL을 설치하는 방법
WordPress에서 HTTPS 활성화: 무료 SSL 인증서 설치, WordPress URL 업데이트, 혼합 콘텐츠 수정, 플러그인 설정. 모든 호스트에서 작동합니다.
배포 2026-05-07
혼합 콘텐츠 경고 해결하는 방법
HTTPS 페이지가 HTTP를 통해 리소스를 로드할 때 혼합 콘텐츠가 발생합니다. 혼합 콘텐츠 오류를 찾고 수정하여 깨끗한 자물쇠 아이콘을 얻는 방법을 알아보세요.
배포 2026-05-07
HTTP를 HTTPS로 리다이렉트하는 방법
서버 측 리다이렉트로 모든 트래픽을 HTTPS로 강제합니다. Nginx, Apache, .htaccess에 대한 301 영구 리다이렉트 설정 예제입니다.
배포 2026-05-08
"연결이 비공개로 설정되지 않았습니다" 오류 해결 방법
'연결이 비공개로 설정되지 않았습니다' 오류는 SSL 인증서에 문제가 있음을 의미합니다. 가장 일반적인 8가지 원인과 각각의 해결 방법을 알아보세요.
브라우저에서 무료 SSL 인증서 받기
설치 불필요, 계정 불필요. 개인키는 항상 기기에 남습니다.
인증서 발급