BOARD

문제 해결

그누보드 특정 페이지 부분 SSL/HTTPS 적용 및 혼합 콘텐츠 해결 가이드

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 10회 작성일 26-10-17 16:06

본문

그누보드 특정 페이지 부분 SSL/HTTPS 적용 및 혼합 콘텐츠 해결 가이드

그누보드 운영 시 전체 사이트가 아닌 특정 페이지만 보안 접속(HTTPS)을 유지하고 나머지는 HTTP로 두려 할 때 발생하는 설정 한계와 혼합 콘텐츠로 인한 레이아웃 깨짐 문제를 해결할 수 있는 실질적인 점검 순서와 대안을 안내합니다.

그누보드에서 config.php의 G5_DOMAIN 및 G5_HTTPS_DOMAIN 설정은 사이트 전체의 도메인 연결 기준을 정의하는 전역 설정입니다. 따라서 이 파일의 설정 값만 수정하는 것으로는 특정 게시판이나 페이지만 http로 유지하고 나머지는 https로 분리하는 식의 세부적인 프로토콜 제어가 불가능합니다.

부분 SSL 적용이 어려운 이유

  1. 전역 설정의 한계: config.php 설정은 사이트 전체에 적용되는 전역 범위의 설정이므로, 특정 경로에 대해서만 프로토콜을 다르게 강제하는 기능을 포함하고 있지 않습니다.
  2. 혼합 콘텐츠(Mixed Content) 문제: 사이트 전체가 https로 전환될 때, 소스 코드 내의 이미지, CSS, JS 등 리소스 경로가 여전히 http로 호출되면 브라우저는 이를 보안 위협으로 간주하여 차단하거나 경고를 표시합니다. 이로 인해 레이아웃이 깨지거나 'Loading' 문구가 노출되는 현상이 발생합니다.

특정 페이지만 보안 접속을 적용하거나 분리하려는 시도는 단순 설정 변경만으로는 해결되지 않으며, 서버 환경(Apache/Nginx 등)의 리다이렉트 설정이나 별도의 코드 처리가 병행되어야 합니다.

HTTPS 접속 시 혼합 콘텐츠 문제 확인 및 해결 방법

HTTPS 환경에서 사이트 레이아웃이 깨지거나 Loading 문구가 멈추는 현상은 보안이 적용된 페이지 내에서 이미지, CSS, JS 등의 리소스가 http:// 주소로 호출될 때 발생합니다. 이를 진단하고 해결하는 절차는 다음과 같습니다.

1. 원인 진단 위치 및 확인 방법

  • 브라우저 개발자 도구 활용: 크롬 등의 브라우저에서 사이트에 접속한 후 F12를 눌러 개발자 도구를 실행합니다. 콘솔(Console) 탭에서 빨간색으로 표시되는 Mixed Content 경고 리스트를 확인합니다.
  • 주소창의 자물쇠 아이콘 상태를 확인합니다. 자물쇠가 녹색이 아닌 회색에 노란색 세모(또는 느낌표)가 붙어 있다면 이미지, CSS, JS 파일 등이 http://를 참조하고 있음을 의미합니다.
    • 확인된 오류 메시지 예시: Mixed Content: The page at 'https://domain:port/path/filename.php' was loaded over HTTPS, but requested an insecure image 'http://domain/path/filename.png'. This content should also be served over HTTPS.

2. 해결 및 조치 절차

  • 그누보드 관리자 설정 변경: 관리자 페이지의 환경설정 → 기본환경설정에서 사이트 주소 관련 항목을 https://로 수정합니다. 주소가 http로 남아 있으면 링크가 계속 http로 생성됩니다.
  • 소스 내 경로 점검: 홈페이지 소스에서 http://소유도메인으로 시작하는 주소를 https://소유도메인으로 변경해야 합니다.
  • 서버 환경 설정 확인: 아파치(Apache) 등의 웹 서버 환경이라면 사이트 루트의 .htaccess 파일 등을 통해 HTTP 접속을 HTTPS로 강제 이동(리다이렉트)시키는 설정을 검토할 수 있습니다.

SIR FAQ 28번 및 커뮤니티의 SSL/HTTPS 관련 권장 방법

그누보드 환경에서 특정 페이지만 HTTPS로 적용하거나 전체 사이트를 HTTPS로 전환할 때 참고할 수 있는 커뮤니티(SIR) 및 관련 가이드의 안내 사항은 다음과 같습니다.

1. 전체 사이트 HTTPS 리다이렉트 적용 방법

  • 아파치(Apache) 웹 서버 환경인 경우 사이트 루트 디렉터리의 .htaccess 파일에 아래 코드를 추가하여 HTTP 접속을 HTTPS로 영구 이동(301 리다이렉트)시킬 수 있습니다.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
  • 호스팅 관리 콘솔에 HTTPS 강제 사용 옵션이 따로 있는 경우에는 해당 옵션만 켜고 .htaccess 설정을 중복으로 건드리지 않는 것이 무한 리다이렉트 오류를 방지하는 데 안전합니다.

2. 특정 페이지만 강제로 HTTPS 접속시키는 방법

  • 전체 리다이렉트 대신 로그인이나 회원가입 등 특정 페이지만 HTTPS로 유지하고자 할 때는 해당 파일(예: member_confirm.php 등) 상단에 조건문 코드를 추가하는 방식을 커뮤니티 사례로 참고할 수 있습니다.
if($_SERVER['HTTPS']!= "on") {
 goto_url("https://".$_SERVER['HTTP_HOST'].":444".$_SERVER['REQUEST_URI']);
 exit;
}
  • 다만 커뮤니티 사례에 따르면, 이와 같은 개별 페이지 강제 접속 방식은 환경에 따라 캡차(kcaptcha) 동작 시 자물쇠 대신 경고 느낌표가 나타나는 등 예외적인 브라우저 경고가 발생할 수 있어 전체 HTTPS 전환에 비해 설정 난도가 높고 한계가 존재합니다.

그누보드 SSL 적용 시 상황별 판단 기준

내 상황우선할 판단다음 행동
config.php 설정만 변경했으나 전체 사이트가 HTTPS로 전환되거나 일부 링크가 열리지 않는 경우config.php의 도메인 설정만으로는 특정 페이지만 HTTP로 유지하는 부분 SSL 적용이 불가능함을 인지전체 사이트 HTTPS 전환으로 방향을 선회하거나 웹 서버(Apache/Nginx) 레벨의 세부 리다이렉트 및 프로토콜 분기 설정 검토
HTTPS 접속 시 사이트 레이아웃이 깨지고 Loading 문구가 멈추거나 자물쇠에 경고가 뜨는 경우소스 코드 내 이미지, CSS, JS 등 리소스가 여전히 http://로 호출되는 혼합 콘텐츠 문제로 진단브라우저 개발자 도구(F12) 콘솔 탭에서 Mixed Content 경고를 확인하고, 관리자 환경설정의 사이트 주소를 https://로 변경 및 소스 내 http 주소 수정
AWS ELB 및 EC2 Route53 환경에서 HTTPS 접속 시 화면이 흐트러지는 경우로드밸런서와 연동된 서버 소스상의 모든 연결 경로가 http로 고정되어 있는지 확인그누보드 관리자 기본환경설정에서 도메인을 https로 지정하고 소스 내 링크 경로 정비

실전 FAQ

Q. 로그인이나 회원가입 페이지만 HTTPS로 하고 게시판은 HTTP로 남겨둘 수 있나요?

  • 답변: 그누보드 기본 설정(config.php의 도메인 값 변경 등)만으로는 특정 페이지만 http로 유지하고 나머지를 https로 분리하는 부분 적용이 어렵습니다. 전역 설정의 한계로 인해 전체가 HTTPS로 강제되거나 소스 내 링크 호출 오류가 발생할 수 있습니다. 특정 페이지만 분기하려면 서버 환경(Apache/Nginx) 설정이나 개별 파일 내 PHP 조건문 처리가 수반되어야 하나, 브라우저 경고나 캡차 연동 시 예외 문제가 발생할 수 있어 전체 HTTPS 전환이 권장됩니다.

Q. 관리자 설정에서 주소를 https로 바꿨는데도 왜 사이트가 깨지나요?

  • 답변: 그누보드 관리자 기본환경설정에서 주소를 수정하더라도, 이미 작성된 게시물 본문의 이미지 경로 등이 http://로 하드코딩되어 있거나 테마/스킨 소스 내에 http://로 호출되는 리소스가 남아 있으면 혼합 콘텐츠 문제로 레이아웃이 깨집니다. 크롬 개발자 도구(F12)의 콘솔 탭에서 Mixed Content 경고를 확인하여 해당 리소스 주소를 https://로 함께 수정해야 합니다.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.