구글이 “안전하지 않음”(Not Secure)으로 표시한 웹사이트 처리 방법

本文作者:Don jiang

당신의 웹사이트가 갑자기 구글에 의해 ‘보안되지 않음’으로 표시되고, 방문자가 로그인이나 결제 단계에서 경고 팝업을 보게 된다면, 63% 이상의 사용자가 바로 페이지를 닫아버립니다 — 이는 곧 트래픽 손실과 브랜드 신뢰도 급락을 의미합니다!

이 글은 바로 적용 가능한 복구 방법을 제공합니다. 전문 개발 지식 없이도 직접 할 수 있으며, 2시간 이내에 사이트를 ‘안전한 상태’로 복원할 수 있습니다!

사이트가 구글에 의해 '보안되지 않음'(Not Secure)으로 표시될 때 대처법

사이트가 ‘보안되지 않음’으로 표시되는 이유

구글은 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위안의 주문 손실이 발생했습니다.

  1. 인증서 만료: 무료 인증서(예: Let’s Encrypt)는 90일마다 갱신해야 하며, 미갱신 시 즉시 무효
  2. 도메인 불일치: 인증서는 domain.com에만 적용되는데, 사용자가 www.domain.com으로 접속하면 경고 발생
  3. 중간 인증서 누락: 특히 안드로이드 기기에서 문제 발생 — ‘인증서 체인 불완전’ 오류 유발

업계 현실: 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)
작업 단계

  1. 호스팅 업체 관리자 페이지에 로그인하여 「SSL/TLS」 또는 「보안」 항목을 찾으세요
  2. 「무료 인증서」를 선택하고 암호화할 도메인 선택(여러 개 한꺼번에 선택 가능)
  3. 「배포」를 클릭하고 3~5분 정도 기다리면 자동으로 적용돼요

성공률:98%(중국 주요 호스팅 업체는 대부분 환경이 사전 세팅되어 있음)

장점:기술 지식 없이 가능, 자동 갱신, 실패율 거의 없음

주의사항

  • 일부 호스팅 업체는 무료 인증서 수에 제한이 있어요 (예: xinnet은 하나만 제공)
  • 도메인이 현재 서버 IP에 연결되어 있는지 꼭 확인하세요

2. Let’s Encrypt + Certbot(개발자 추천)​

적용 대상:개인 서버(Nginx/Apache 등), 여러 도메인을 관리하는 경우

실제 사례:일일 방문자 10만 명 이상의 블로그 사이트가 CLI 명령어로 100개 서브도메인 3분 만에 암호화 완료

설치 방법

bash
# 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 기준):

  1. 계정을 등록하고 사이트 도메인을 추가하세요
  2. 「SSL/TLS」 설정에서 「Flexible」 모드를 선택 (사이트 전체 HTTPS 강제 적용)
  3. 「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: 크롬 개발자 도구 이용

  1. 웹사이트를 열고 F12를 눌러 개발자 도구를 실행하세요
  2. Console 패널로 이동해서 빨간색 오류 메시지를 확인하세요
  3. 오류 메시지의 링크를 클릭하면 Sources 패널로 바로 이동해 문제 코드를 찾을 수 있어요

방법 2: 외부 스캔 도구 사용

  • Why No Padlock: URL을 입력하면 5초 안에 혼합 콘텐츠 목록이 나와요
  • Jitbit SSL Check: CSS/JS 내부 링크까지 깊게 스캔해줍니다

방법 3: 데이터베이스 전체 검색

WordPress, Shopify 같은 사이트 구축 시스템의 경우, 데이터베이스에 저장된 이전 콘텐츠도 확인해야 해요:

sql
-- 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 설정에 아래 내용을 추가하세요:
nginx
add_header Content-Security-Policy "upgrade-insecure-requests";  

전체 사이트를 HTTPS로 강제 리디렉션 (코드 예시)

“SSL 인증서를 설치했는데 왜 아직도 HTTP로 접속 가능하죠?” — 혼합 콘텐츠를 해결하고도 가장 치명적인 허점이 될 수 있어요.

한 유아용품 쇼핑몰은 강제 리디렉션 설정을 하지 않아 모바일 유저의 40%가 여전히 HTTP로 접속했고, 그 결과 구글 중복 수집이 발생해 검색 순위가 30%나 떨어졌습니다.

핵심은: 모든 HTTP 요청을 가로채서 301 상태코드로 HTTPS로 영구 리디렉션하는 거예요.

1. 범용 코드 템플릿 (Apache/Nginx/IIS 호환)

Apache 서버 (.htaccess 파일)

apache
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]  

적용 시나리오: 가상 호스팅, WordPress, Joomla 등 PHP 사이트
문제 방지 팁:

  • 서버에서 mod_rewrite 모듈이 활성화되어 있는지 확인
  • 파일은 웹사이트의 루트 디렉토리에 업로드해야 합니다
  • 리디렉션이 실패하면 여러 개의 .htaccess 파일이 충돌하는지 확인

Nginx 서버 (nginx.conf 설정 조각)

nginx
server {  
    listen 80;  
    server_name example.com www.example.com;  
    # 전체 사이트 301 리디렉션  
    return 301 https://$server_name$request_uri;  
    # 민감한 HTTP 메소드 차단  
    if ($request_method !~ ^(GET|HEAD|POST)$ ) {  
        return 444;  
    }  
}  

디버깅 팁:

  • 변경 후 nginx -t 명령어로 구문을 테스트
  • 설정 재로드: nginx -s reload
  • 불필요한 HTTP 메소드를 차단하여 데이터 유출을 방지

Windows IIS 서버 (web.config 규칙)

xml
<configuration>  
  <system.webServer>  
    <rewrite>  
      <rules>  
        <rule name="Force HTTPS" stopProcessing="true">
<match url="(.*)" />  
<conditions>  
  <add input="{HTTPS}" pattern="^OFF$" />  
</conditions>  
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />  
</rule>  
</rules>  
</rewrite>  
</system.webServer>  
</configuration>  

일반적인 오류

  • IIS에 “URL Rewrite” 모듈이 설치되지 않음 → 공식 다운로드 링크
  • 중국어 경로 인코딩 오류 → 규칙에 encode="false" 추가

2. CMS 시스템 전용 솔루션

워드프레스 사용자

  1. 관리자 대시보드 로그인 → 설정 → 일반
  2. WordPress 주소사이트 주소http://https://로 변경
  3. 플러그인 Really Simple SSL 설치 → 데이터베이스 내 혼합 콘텐츠 일괄 수정

Shopify/Laravel 등 프레임워크
환경 변수 파일(.env)에서 HTTPS 강제 적용:

bash
APP_URL=https://www.example.com  
FORCE_SSL=true  
SESSION_SECURE_COOKIE=true  

3. 모바일 특수 처리 (AMP/WeChat 브라우저)

  • AMP 페이지 리디렉션: AMP HTML에 <meta http-equiv="refresh" content="0; url=https://새로운-링크"> 추가
  • WeChat 캐시 문제: URL 뒤에 무작위 파라미터 ?v=2024를 추가하여 HTTPS 버전 강제 새로 고침

4. 리디렉션이 제대로 작동하는지 테스트하기

브라우저 테스트:

  • http://example.com을 방문 → 주소 표시줄이 자동으로 https://로 변경됨
  • 리디렉션 후 자물쇠 아이콘이 녹색인지 확인

명령줄 검증:

bash
curl -I http://example.com  
# 올바른 응답에는 다음이 포함되어야 합니다:  
# HTTP/1.1 301 Moved Permanently  
# Location: https://example.com  

온라인 도구:

  1. Redirect Checker
  2. Varvy SSL Test

오류 경고:

잘못된 구성 → 무한 리디렉션 루프 (ERR_TOO_MANY_REDIRECTS)  
주요 원인:  
1. CDN이 HTTPS 리디렉션을 동시에 적용함 (서버 규칙과 충돌)  
2. 로드 밸런서가 프로토콜 헤더를 제대로 전달하지 않음  
해결 방법:  
Nginx 구성에 다음 추가:  
proxy_set_header X-Forwarded-Proto $scheme;  

SEO 친화적인 리디렉션 팁:

  • 전체 사이트에서 301 리디렉션 (영구 리디렉션)을 사용하여 모든 링크 가치를 전달
  • 체인 리디렉션 방지 (예: http→http://www→https); 최대 1번의 리디렉션만 허용
  • Google Search Console에 HTTPS 버전의 사이트맵 제출

구글은 2018년부터 HTTPS를 검색 순위 요소로 점진적으로 적용하고 있습니다. 보안되지 않은 사이트는 매년 평균 12%-15%의 트래픽을 잃고 있으며, 이는 사용자들의 보안 인식 증가에 따라 점점 더 가속화되고 있습니다.