보안인증서를 설치했는데 HTTP로 접속됩니다. 어떻게 HTTPS로 리다이렉트하나요?
💡 요약 정리
- SSL 설치만으로는 기존 주소가 자동으로 HTTPS로 바뀌지 않습니다.
- HTTP로 들어오는 요청을 HTTPS로 보내는 리다이렉트(301) 소스를 추가해야 합니다.
- 가장 일반적인 방법은 아파치(.htaccess) 설정입니다. 아래 예제를 그대로 적용해 보세요.
- 제작자가 있다면 요청하고, 없다면 직접 수정해 적용할 수 있습니다.
- 적용 후 http로 접속해도 자동으로 https로 바뀌는지, 자물쇠 아이콘이 나오는지 확인하세요.
1. 왜 HTTP로 접속되나요?
SSL(보안인증서)을 발급·설치해도, 기존 접속 경로는 계속 HTTP로 접근합니다. HTTPS를 기본으로 사용하려면 HTTP에서 HTTPS로 강제 전환(301 리다이렉트)하는 소스를 사이트나 서버 설정에 추가해야 합니다.
2. 해결 방법: HTTP → HTTPS 리다이렉트 설정
아래 중 자신의 환경에 맞는 방법을 하나만 적용하면 됩니다. 중복 적용은 무한 리다이렉트가 발생할 수 있으니 주의하세요.
2-1) 아파치(.htaccess)에서 설정하기(가장 일반적)
- 위치: 웹사이트 루트 디렉터리(홈페이지 파일이 있는 최상위 폴더)의 .htaccess 파일
- 예제:
# HTTP로 들어오면 HTTPS로 301 리다이렉트
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
- 참고
- 기존에 RewriteRule이 있다면 순서를 조정해야 할 수 있습니다.
- 적용 후 http://도메인 으로 접속했을 때 https://로 즉시 전환되는지 확인하세요.
2-2) Nginx 서버 블록에서 설정하기(서버 관리 권한이 있는 경우)
# 80 포트(HTTP)로 들어온 요청을 HTTPS로 영구 리다이렉트
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
- 참고: 설정 반영 후 Nginx를 재시작 또는 reload 해야 합니다.
2-3) PHP 코드로 강제 리다이렉트(임시/보완 용도)
- 위치: index.php 최상단 등 전역으로 로드되는 곳
<?php
if (empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] === 'off') {
$redirect = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
header('HTTP/1.1 301 Moved Permanently');
header('Location: ' . $redirect);
exit();
}
- 서버 설정 변경이 어려울 때 임시로 사용할 수 있으나, 웹서버 레벨 리다이렉트(아파치/Nginx)를 우선 권장합니다.
3. 적용 후 점검 방법
- http://로 접속해도 자동으로 https://로 바뀌는지 확인합니다.
- 주소창에 자물쇠 아이콘이 표시되는지 확인합니다.
- 크롬 개발자도구(네트워크 탭)에서 301 리다이렉트가 정상 동작하는지 확인합니다.
- 이미지·스크립트 등 일부 리소스가 http로 남아 있다면 혼합 콘텐츠 경고가 발생할 수 있습니다. 리소스 경로도 https로 수정하세요.
주의: 동일 한 리다이렉트 규칙을 여러 곳에 중복 적용하면 무한 루프가 발생할 수 있습니다. 한 곳에서만 명확하게 설정하세요.
4. 카페24 지원 범위 안내
리다이렉트 소스 수정은 고객님께서 직접 진행해야 하며, 제작자가 있을 경우 제작업체에 요청하는 것을 권장합니다. 제작자가 없으시다면 포털 검색을 통해 안내되는 방법을 참고해 소스를 수정해 주세요.
카페24는 서버 등 인프라를 제공하는 업체로, 호스팅 상품·서비스 사양 문의는 가능하나 홈페이지 제작(예: 소스, 설정) 또는 디자인 관련 개별 수정은 지원이 어렵습니다. 양해 부탁드립니다.