당신의 웹사이트가 갑자기 구글에 의해 ‘보안되지 않음’으로 표시되고, 방문자가 로그인이나 결제 단계에서 경고 팝업을 보게 된다면, 63% 이상의 사용자가 바로 페이지를 닫아버립니다 — 이는 곧 트래픽 손실과 브랜드 신뢰도 급락을 의미합니다!
이 글은 바로 적용 가능한 복구 방법을 제공합니다. 전문 개발 지식 없이도 직접 할 수 있으며, 2시간 이내에 사이트를 ‘안전한 상태’로 복원할 수 있습니다!

사이트가 ‘보안되지 않음’으로 표시되는 이유
구글은 2018년부터 사용자 입력(로그인, 결제, 폼 등)이 있는 모든 페이지에 SSL 인증서 설치를 의무화했습니다. 그렇지 않으면 ‘보안되지 않음’으로 바로 표시됩니다.
더 골치 아픈 건, 이미 SSL 인증서를 설치했다 하더라도 인증서 만료(예: 무료 인증서는 3개월마다 갱신 필요), 도메인 불일치(www 버전과 비www 버전 불일치), 페이지에 HTTP 링크 이미지나 스크립트 혼용(예: 외부 광고 코드 호출) 등이 HTTPS를 무력화시킬 수 있다는 점입니다.
HTTP는 ‘맨몸 전송’과 같다
어느 오프라인 체인점의 온라인 쇼핑몰은 HTTPS를 사용하지 않아 사용자의 가입 정보가 해커에게 탈취당했습니다. 기술팀이 분석한 결과, 공격자는 공용 와이파이와 Wireshark 도구를 사용해 5분 만에 200개가 넘는 평문 비밀번호를 수집한 것으로 나타났습니다.
핵심 문제:
- HTTP는 모든 데이터(비밀번호, 결제 정보 등)가 암호화 없이 평문으로 전송됩니다
- 암호화되지 않은 페이지는 HTTPS 대비 3.6배 더 쉽게 변조될 수 있습니다 (출처: 2024년 Sucuri 보안 보고서)
- 구글은 HTTP 페이지의 검색 순위를 15%-20%까지 낮춥니다 (SEMrush 실험 데이터)
SSL 인증서의 ‘치명적인 디테일’
2023년 한 전자상거래 쇼핑 행사 기간, 어느 의류 사이트가 SSL 인증서 만료로 인해 결제 페이지가 브라우저에 의해 차단되었고, 370,000위안의 주문 손실이 발생했습니다.
- 인증서 만료: 무료 인증서(예: Let’s Encrypt)는 90일마다 갱신해야 하며, 미갱신 시 즉시 무효
- 도메인 불일치: 인증서는
domain.com
에만 적용되는데, 사용자가 www.domain.com
으로 접속하면 경고 발생 - 중간 인증서 누락: 특히 안드로이드 기기에서 문제 발생 — ‘인증서 체인 불완전’ 오류 유발
업계 현실: HTTPS를 적용한 사이트 중 43%는 여전히 인증서 설정 오류가 있습니다 (출처: SSL Labs 2024)
혼합 콘텐츠: ‘한 방울의 오물이 전부를 망친다’
한 WordPress 운영자는 “SSL 인증서를 설치했는데도 백엔드에서 여전히 보안되지 않음으로 표시된다!”고 하소연했습니다. 결국 원인은 테마에 포함된 HTTP 링크 이미지 때문이었습니다.
주요 발생 사례:
- 오래된 게시물에 있는 외부 이미지 링크 (예:
http://image.com/1.jpg
) - 타사 플러그인이 HTTPS가 아닌 API 호출 (예: 고객센터 팝업, 광고 코드)
- 데이터베이스에 하드코딩된 HTTP 링크
자체 점검 도구:
- Chrome에서 F12 → Console 탭을 열어 오류 파일 확인
- SSL Checker로 인증서 완전성 스캔
숨겨진 지뢰: 지역 기반 네트워크 가로채기
일부 지역 통신사는 HTTP 트래픽을 가로채 광고나 강제 리디렉션을 삽입하기도 합니다. 예: 윈난 지역의 한 기업 홈페이지가 “도박 광고가 자동 팝업된다”는 사용자 제보 — 사실은 지역 ISP의 가로채기 때문이었습니다.
이런 문제는 브라우저 보안 경고를 유발하고, 사용자는 이를 사이트 문제로 오해해 불만 신고율이 280% 급증합니다 (출처: ZhanZhangZhiJia 사례 데이터)
무료 SSL 인증서 빠르게 신청하는 3가지 방법
“SSL 설치하려면 서버 셋팅이 복잡하고, 비용도 많이 드는 거 아냐?” — 이는 90%의 중소 운영자가 ‘보안되지 않음’ 경고를 방치하는 가장 큰 오해입니다.
사실 전 세계 4억 3천만 개 이상의 사이트가 이미 무료 SSL을 사용 중입니다 (출처: BuiltWith) — 아마존, 워드프레스 등의 대형 플랫폼도 마찬가지입니다.
무료 인증서도 유료 버전과 동일한 보안성을 제공합니다. 차이는 단지 인증 방식입니다.
1. 호스팅 관리 패널에서 원클릭 설치 (초보자 추천)
적용 대상: 가상 호스팅/클라우드 서버 사용자 (예: 알리바바 클라우드, 텐센트 클라우드, SiteGround)
작업 단계:
- 호스팅 업체 관리자 페이지에 로그인하여 「SSL/TLS」 또는 「보안」 항목을 찾으세요
- 「무료 인증서」를 선택하고 암호화할 도메인 선택(여러 개 한꺼번에 선택 가능)
- 「배포」를 클릭하고 3~5분 정도 기다리면 자동으로 적용돼요
성공률:98%(중국 주요 호스팅 업체는 대부분 환경이 사전 세팅되어 있음)
장점:기술 지식 없이 가능, 자동 갱신, 실패율 거의 없음
주의사항:
- 일부 호스팅 업체는 무료 인증서 수에 제한이 있어요 (예: xinnet은 하나만 제공)
- 도메인이 현재 서버 IP에 연결되어 있는지 꼭 확인하세요
2. Let’s Encrypt + Certbot(개발자 추천)
적용 대상:개인 서버(Nginx/Apache 등), 여러 도메인을 관리하는 경우
실제 사례:일일 방문자 10만 명 이상의 블로그 사이트가 CLI 명령어로 100개 서브도메인 3분 만에 암호화 완료
설치 방법:
# Certbot 설치(Ubuntu + Nginx 기준)
sudo apt-get update
sudo apt-get install certbot python3-certbot-nginx
# 인증서 신청 및 자동 설정 (yourdomain.com은 실제 도메인으로 대체)
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
# 자동 갱신 설정 (유효 기간 90일)
sudo certbot renew --dry-run
성공률:92%(서버 환경 설정에 따라 다름)
자주 발생하는 오류 및 해결법:
Failed to connect to host for DVSNI challenge
→ 방화벽에서 80/443 포트가 열려 있는지 확인The server experienced an internal error
→ DNS 반영이 아직 안 됐을 수 있으니 잠시 기다려 보세요
3. CDN 업체의 HTTPS 기능 활용 (트래픽 가속 + 암호화)
지원 플랫폼:Cloudflare, 바이두 클라우드 가속, 텐센트 클라우드 CDN
설정 방법 예시(Cloudflare 기준):
- 계정을 등록하고 사이트 도메인을 추가하세요
- 「SSL/TLS」 설정에서 「Flexible」 모드를 선택 (사이트 전체 HTTPS 강제 적용)
- 「Always Use HTTPS」와 「Automatic HTTPS Rewrites」를 활성화
적용 시간:즉시 반영 (전 세계 노드에 배포됨)
주요 장점:
- 원본 서버에 인증서 설치 필요 없음, CDN 엣지 노드가 자동 암호화
- 구형 HTTP 서버도 호환 가능, 혼합 콘텐츠 문제 해결
- 무료 플랜에서도 와일드카드 인증서 지원 (*.domain.com)
제약 사항 해결책
제한 조건 | 영향 범위 | 해결 방안 |
---|
유효 기간 짧음 | Let’s Encrypt는 90일만 유효 | 자동 갱신 설정 (crontab 예약 작업 사용) |
도메인 소유권만 인증 | 주소창에 회사명 안 뜸 | 기업 사이트는 OV 인증서로 업그레이드 (연 300위안부터) |
단일 도메인 제한 | 일부 호스팅 업체는 바인딩 수 제한 | 와일드카드 인증서 사용 (*.domain.com) |
꼭 점검해야 할 “혼합 콘텐츠” 문제
“SSL 인증서 설치했는데, 왜 아직도 안전하지 않다고 뜨죠?” — HTTPS 설정 후에도 여전히 78%의 웹사이트 운영자가 겪는 가장 큰 혼란 (출처: SSL Labs)
핵심 원인은 바로 “혼합 콘텐츠(Mixed Content)” 때문이에요. 깨끗한 물에 먹물 한 방울이 섞이면 전체가 오염되는 것처럼, 암호화 상태가 깨져버려요.
1. 혼합 콘텐츠의 치명적인 영향
- 신뢰도 하락:사이트가 안전하더라도 브라우저는 노란 삼각형 경고를 표시 (Chrome 94 이후 버전에서는 빨간색으로 표시됨)
- 기능 오류:일부 브라우저는 HTTP 자원을 차단해서 이미지가 안 뜨거나 JS 오류 발생
- SEO 불이익:구글은 혼합 콘텐츠가 있는 페이지를 “부분적으로 안전함”으로 간주하고 검색 순위를 11%~15% 정도 낮춰요 (Ahrefs 테스트 자료)
2. 문제 원인 3분 만에 찾는 방법
방법 1: 크롬 개발자 도구 이용
- 웹사이트를 열고 F12를 눌러 개발자 도구를 실행하세요
- Console 패널로 이동해서 빨간색 오류 메시지를 확인하세요
- 오류 메시지의 링크를 클릭하면 Sources 패널로 바로 이동해 문제 코드를 찾을 수 있어요
방법 2: 외부 스캔 도구 사용
- Why No Padlock: URL을 입력하면 5초 안에 혼합 콘텐츠 목록이 나와요
- Jitbit SSL Check: CSS/JS 내부 링크까지 깊게 스캔해줍니다
방법 3: 데이터베이스 전체 검색
WordPress, Shopify 같은 사이트 구축 시스템의 경우, 데이터베이스에 저장된 이전 콘텐츠도 확인해야 해요:
-- HTTP 링크 찾기 (your_db_prefix를 실제 테이블 접두사로 바꾸세요)
SELECT * FROM your_db_prefix_posts
WHERE post_content LIKE '%http://%' AND post_status='publish';
3. 자주 발생하는 혼합 콘텐츠 원인 및 해결법
문제 유형 | 비율 | 주요 사례 | 해결 방법 |
---|
외부 이미지 링크 | 52% | 2018년 이전 게시글의 삽입 이미지 | 이미지를 다운로드한 후 사이트 CDN에 업로드 |
서드파티 코드 | 23% | 상담창, 광고 스크립트 | 공급업체에 HTTPS 버전 코드 요청 |
테마/플러그인 | 17% | 구버전 테마의 글꼴, AJAX 요청 | 플러그인 업데이트 또는 http:// 을 // 로 수동 교체 |
데이터베이스 하드코딩 | 8% | 상품 상세 페이지에 수동 삽입된 동영상 링크 | SQL 데이터를 일괄 교체 (플러그인 사용이 더 안전해요) |
4. 혼합 콘텐츠를 막는 장기 전략
- 프로토콜 상대 링크:
http://example.com/image.jpg
를 //example.com/image.jpg
로 바꾸세요 - 콘텐츠 보안 정책(CSP): Nginx/Apache 설정에 아래 내용을 추가하세요:
add_header Content-Security-Policy "upgrade-insecure-requests";
전체 사이트를 HTTPS로 강제 리디렉션 (코드 예시)
“SSL 인증서를 설치했는데 왜 아직도 HTTP로 접속 가능하죠?” — 혼합 콘텐츠를 해결하고도 가장 치명적인 허점이 될 수 있어요.
한 유아용품 쇼핑몰은 강제 리디렉션 설정을 하지 않아 모바일 유저의 40%가 여전히 HTTP로 접속했고, 그 결과 구글 중복 수집이 발생해 검색 순위가 30%나 떨어졌습니다.
핵심은: 모든 HTTP 요청을 가로채서 301 상태코드로 HTTPS로 영구 리디렉션하는 거예요.
1. 범용 코드 템플릿 (Apache/Nginx/IIS 호환)
Apache 서버 (.htaccess 파일)
RewriteEngine On
# 주 도메인 강제 리디렉션
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# www와 비-www 혼합 사용 수정
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
구글은 2018년부터 HTTPS를 검색 순위 요소로 점진적으로 적용하고 있습니다. 보안되지 않은 사이트는 매년 평균 12%-15%의 트래픽을 잃고 있으며, 이는 사용자들의 보안 인식 증가에 따라 점점 더 가속화되고 있습니다.