웹사이트를 운영하면서 주소창을 볼 때마다 늘 마음 한구석이 찝찝했습니다. 크롬이나 엣지 등 주요 브라우저에서 HTTPS가 적용되지 않은 사이트에 접속하면 주소창 왼쪽에 어김없이 띄우는 ‘주의 요함’ 혹은 ‘안전하지 않음’이라는 빨간색 경고 아이콘과 문구 때문이었습니다.

방문자들에게 불필요한 불안감을 심어주고 사이트의 신뢰도를 갉아먹는 이 아이콘을 하루빨리 없애고, 안전함을 상징하는 자물쇠 마크로 바꾸고 싶다는 강력한 동기가 생겼습니다. 그렇게 고도몰(NHN 커머스) 독립형 솔루션을 일반 리눅스 서버 호스팅 환경에 설치하여 운영 중인 제 웹사이트에 SSL 인증서를 직접 설치하는 작업에 착수했습니다. 하지만 이 과정에서 예상치 못한 수많은 시행착오와 삽질을 겪어야 했습니다. 저와 같은 실수를 반복하지 않기를 바라는 마음으로, 보안상 민감한 내부 구조는 제외하고 트러블슈팅 과정과 비용 동향, 그리고 Cloudflare 연동 실패 경험담까지 정리해 기록으로 남깁니다.
0. ssl인증서의 종류별 비용
- 무료 SSL (Let’s Encrypt / ZeroSSL)
- 비용: 0원
- 핵심: 초기 비용은 없으나 일반 국내 리눅스 호스팅 환경에서는 수동 설치 및 3개월마다의 자동 갱신 스크립트 세팅이 매우 까다롭거나 차단되어 있는 경우가 많습니다.
- Cloudflare 무료 SSL (프록시 우회)
- 비용: 0원
- 핵심: 가장 빠르게 주소창에
https://를 띄울 수 있으나, 프록시 서버 특성상 IP가 유동적으로 변하므로 국내 PG사 결제 모듈이나 계좌 입금 통보 시스템과 100% 충돌을 일으켜 일반 리눅스 호스팅 환경의 커머스 사이트에서는 사용이 불가합니다.
- 단일 도메인 유료 SSL (DV)
- 비용: 연간 30,000원 ~ 50,000원 선
- 핵심: 리눅스 서버에 직접 인증서 파일을 세팅해야 하는 공수가 들지만, 국내 결제 대행사(PG) 및 세션 보안 모듈과 100% 완벽히 호환되는 정공법 솔루션입니다. 쇼핑몰이나 상업 기능이 포함된 리눅스 사이트에 가장 권장됩니다.
- 호스팅사 대행/자동화 상품
- 비용: 연간 35,000원 ~ 60,000원 선
- 핵심: 수동으로 아파치나 엔진엑스(Nginx) 설정을 건드리다 발생하는 ‘방화벽 차단’, ‘무한 리다이렉트’ 등의 삽질을 원천 차단해 주는 가장 안전한 유료 서비스입니다.
1. 첫 번째 삽질: 인증서 종류와 웹서버 환경의 불일치
SSL 인증서를 발급받기 전, 호스팅 환경의 웹서버 종류(Apache, Nginx, IIS 등)를 명확히 확인해야 합니다. 서버 환경에 따라 인증서 파일의 확장자나 결합 방식이 다르기 때문입니다.
처음에는 가장 대중적인 파일 형식으로 발급받아 무작정 서버에 업로드하려고 시도했습니다. 하지만 해당 호스팅 서버가 요구하는 인증서 체인(Chain) 파일 구성과 개인키(Private Key) 포맷이 맞지 않아 구동 단계에서 계속 에러가 발생했습니다.
해결 방법: 호스팅 관리자 페이지의 기술 사양을 다시 확인한 후, 해당 웹서버 포맷에 맞는 인증서 파일(CRT, KEY, Bundle 파일 등)로 변환 및 재발급을 진행했습니다. 외부 인증서를 수동으로 등록할 때는 반드시 서버가 요구하는 인코딩 방식(예: PEM 포맷)을 준수해야 합니다.

2. 두 번째 삽질: 포트(Port) 개방과 방화벽 설정 문제
인증서 파일을 서버 내 지정된 경로에 올바르게 배치하고 웹서버 설정을 마쳤음에도 불구하고, https://로 접속했을 때 ‘사이트에 연결할 수 없음’ 메시지가 반복되었습니다.
원인은 포트 설정에 있었습니다. 일반적인 HTTP 통신은 80 포트를 사용하지만, 보안 통신인 HTTPS는 443 포트를 사용합니다. 호스팅 업체의 네트워크 보안 설정(방화벽)에서 443 포트가 기본적으로 차단되어 있거나, 웹서버 가상 호스트(Virtual Host) 설정에서 443 포트에 대한 리슨(Listen) 정의가 누락된 것이 화근이었습니다.
- 해결 방법: 호스팅 업체 제공 관리 콘솔의 보안 설정(ACL)에서 외부로부터의 443 포트 접근을 허용하도록 규칙을 추가했습니다. 아울러 웹서버 환경 설정 파일에서도 443 포트 기반의 가상 호스트 설정을 정상적으로 활성화해 주었습니다.
3. 세 번째 삽질: 무한 리다이렉션(Too Many Redirects)의 늪
포트가 열리고 HTTPS 접속은 성공했으나, 새로운 문제가 발생했습니다. 기존 80 포트(HTTP)로 들어오는 사용자를 안전하게 443 포트(HTTPS)로 넘겨주기 위해 서버 내에 리다이렉트(Redirect) 구문을 추가했는데, 브라우저가 ‘페이지가 올바르게 이동하지 않음(Too Many Redirects)’ 에러를 뿜어내며 멈춰버린 것입니다.
이는 웹서버의 리다이렉트 조건문과 고도몰 솔루션 내부의 기본 주소 설정 코드가 서로 충돌하면서, 서버와 브라우저가 서로 주소를 계속 주고받는 무한 루프에 빠졌기 때문입니다.
- 해결 방법: 조건문 구성을 전면 수정했습니다. 단순히 모든 트래픽을 HTTPS로 넘기는 구문 대신, 현재 접속 요청이 HTTP인 경우(
%{HTTPS} off)에만 HTTPS로 이동하도록 예외 처리를 명확히 세분화했습니다. 또한, 쇼핑몰 솔루션 관리자 페이지 내의 ‘기본 도메인 설정’ 메뉴에서도 보안서버 사용 여부를 동시 활성화하여 내부 코드와의 정합성을 맞췄습니다.

비용을 아끼기 위해 다양한 방안을 검토하면서 최근 국내외 호스팅 업계의 SSL 정책 변화 트렌드를 극명하게 체감할 수 있었습니다. 국내와 국외의 환경 차이가 꽤 큰 편입니다.
- 국내 호스팅 시장: 무료 혜택 축소 및 유료화 추세 과거 많은 가성비 웹 마스터들이 애용하던 국내 호스팅사 ‘닷홈(Dothome)’ 마저도 최근 보안 서버 정책 변화와 유지 관리 이슈로 인해 기존의 무료 SSL 지원 정책을 전면 폐지하고 자동화된 유료 요금제로 전환했습니다. 카페24나 가비아 등 국내 주요 호스팅사 대부분이 일반 웹호스팅 상품에서는 무료 SSL 설치 경로를 까다롭게 제한하거나 유료 대행 상품(연간 약 3~5만 원 선) 이용을 유도하는 편입니다. (단, 본인이 직접 서버 내부 제어권을 가진 VPS나 클라우드 가상 서버를 구축할 경우에 한해서만 Let’s Encrypt를 통한 무료 수동 구축이 가능합니다.)
- 국외 호스팅 시장: 평생 무료 자동 갱신(Auto-SSL)이 표준 반면 해외 시장(Hostinger, Bluehost 등)이나 프론트엔드 배포 플랫폼(Vercel, Netlify 등)은 가장 저렴한 입문자용 호스팅을 쓰더라도 Let’s Encrypt나 ZeroSSL 기반의 평생 무료 SSL 인증서가 기본 탑재되어 나옵니다. 도메인만 연결하면 서버 단에서 자동으로 3개월마다 갱신을 처리해 주기 때문에 비용과 관리 공수가 전혀 들지 않는다는 장점이 있습니다.
4. 네 번째 삽질: 리눅스 호스팅과 Cloudflare 연동, 끝내 ‘무한 리다이렉션’으로 포기
국내 호스팅 시장의 유료화 추세 속에서 연간 수만 원의 인증서 비용을 아끼기 위해 인터넷 검색을 열심히 해보았습니다. 많은 개발자 블로그에서 글로벌 네트워크 서비스인 Cloudflare(클라우드플레어)의 무료 플랜을 네임서버에 연동해 HTTPS를 무료로 띄우는 꿀팁을 추천하더군요.
제 사이트는 쇼핑몰 목적의 계정이 아닌 일반 리눅스 호스팅 환경이었기에 일말의 기대를 품고 즉시 네임서버를 변경한 뒤 Cloudflare 프록시(Proxy)와 무료 Flexible SSL 기능을 활성화했습니다. 드디어 ‘주의 요함’ 마크를 지우나 싶었지만, 결과는 대실패였습니다.

- 풀리지 않는 무한 리다이렉션(Too Many Redirects)의 지옥 Cloudflare를 연동하자마자 브라우저가 무한 루프에 빠지며 사이트 접속이 완전히 차단되었습니다. 원인은 Cloudflare와 제 리눅스 서버, 그리고 고도몰 독립형 솔루션 간의 3자 소통 오류였습니다. Cloudflare가 브라우저와는 HTTPS(443)로 통신하면서 정작 내부 리눅스 서버에는 HTTP(80)로 요청을 보냈고, 리눅스 서버와 고도몰 솔루션은 “왜 보안 연결이 아니지?”라며 다시 HTTPS 주소로 리다이렉트를 명령하는 핑퐁 게임이 끝없이 반복된 것입니다.
- 솔루션 내부 로직과의 호환성 한계 Cloudflare 제어판에서 SSL 옵션을 ‘Flexible’에서 ‘Full’이나 ‘Strict’로 바꾸고 서버단 코드를 수정해 보아도, 고도몰 독립형 솔루션 코어에 깊숙이 내장된 고유의 IP 검증 및 세션 로직과 계속 충돌을 일으켰습니다. 일반적인 HTML 정적 웹사이트나 단순 워드프레스 블로그였다면 쉽게 해결되었을 문제였겠지만, 태생이 커머스 기반인 솔루션 구조상 외부 프록시를 통한 SSL 우회는 완벽한 화해를 이루지 못했습니다.
5. 교훈 및 핵심 요약
이번 SSL 적용 과정을 통해 얻은 교훈은 명확합니다.
- 서버 사양 사전 파악: 인증서를 구매하거나 발급받기 전, 내 호스팅 환경이 어떤 웹서버와 포맷을 지원하는지 반드시 확인해야 합니다.
- 네트워크 기본 체크: 설정이 완벽해도 방화벽에서 443 포트가 막혀 있으면 무용지물입니다.
- 호스팅 종류보다 ‘콘텐츠 성격’이 우선: 단순 리눅스 호스팅 환경이더라도 호스팅에서 막는경우라면 Cloudflare 무료 우회 같은 편법은 내부 로직과 충돌해 실패합니다. 처음부터 정식 유료 인증서 예산을 책정하는 것이 시간과 공수를 아끼는 길입니다.
- 단계별 적용 및 테스트: 인증서 설치, 방화벽 개방, 리다이렉트 설정을 한 번에 적용하지 말고, 한 단계씩 확인하며 진행해야 원인 파악이 쉽습니다.
결론: 결국은 포기, 나중을 기약하며 유료 전환으로 유턴
몇 날 며칠을 서버 설정 파일과 Cloudflare 옵션을 붙잡고 씨름했으나, 사이트 접속 자체가 불가능해지는 치명적인 무한 리다이렉션 오류 앞에 결국 적용 포기를 선언했습니다.
수많은 기술적 삽질 끝에 내린 결론은 “꼼수는 통하지 않는다”였습니다. 현재 제 웹사이트는 아쉽게도 여전히 SSL이 적용되지 않은 상태로, 주소창에 ‘주의 요함’ 마크를 달고 지내고 있습니다.
이번 경험을 통해 독립형 솔루션 인프라를 운영할 때는 가급적 외부 우회 서비스를 지양하고 정공법을 택해야 한다는 비싼 교훈을 얻었습니다. 당장은 급하지 않아 이대로 유지하겠지만, 추후 사이트 개편이나 보안 인증이 반드시 필요한 상황이 오면 그때는 아예 연간 3~5만 원 상당의 정식 유료 SSL 인증서를 구매하거나 호스팅사 자동화 상품을 이용해 정석대로 돈을 내고 깔끔하게 적용할 예정입니다.

비용을 아끼려다 리눅스 서버와 솔루션 코어의 매운맛만 본 이번 삽질기가, 저와 비슷한 환경에서 무료 SSL 우회를 고민하는 다른 운영자분들에게 시간 낭비 예방에 도움이 되기를 바랍니다.