본문 바로가기
개발하는 '정'/기타

HTTP -> HTTPS 자동 강제 전환 / 그누보드 https 리다이렉트 하는 방법 3가지

by 주앤정_블로그 2020. 12. 24.

HTTP -> HTTPS 자동 강제 전환 / 그누보드 https 리다이렉트 하는 방법 3가지

http to https redirect

그누보드에 SSL 적용 후 HTTP로 접속 시 HTTPS 로 강제 전환하는 방법 총 3가지를 남깁니다.

 

1. .htaccess 수정

root의 htaccess 파일의 최상단에 아래의 코드를 입력해줍니다.

파일이 없는 경우 새로 생성하여 저장하면 됩니다.

.htaccess 파일을 수정하면 대부분 http 주소가 https로 리다이렉트 됩니다.

 

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

 

2. /extend/user.config.php 파일 수정

extend폴더 내의 user.config.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);
}

 

3. config.php 파일 수정

그누보드 최상위 위치에 config.php 파일이 있습니다.

초기 설정은 아래처럼 되어있을 겁니다.

/*
보안서버 도메인
회원가입, 글쓰기에 사용되는 https 로 시작되는 주소를 말합니다.
포트가 있다면 도메인 뒤에 :443 과 같이 입력하세요.
보안서버주소가 없다면 공란으로 두시면 되며 보안서버주소 뒤에 / 는 붙이지 않습니다.
입력예) https://www.domain.com:443/gnuboard5
*/
define('G5_DOMAIN', '');
define('G5_HTTPS_DOMAIN', '');

 

보안 주소를 사용한 후 일반 주소로 돌아오는 경우엔 아래와 같이

G5_DOMAIN에 http://도메인주소 입력,

G5_HTTPS_DOMAIN에 https://도메인주소 를 입력하여 설정하시고,

define('G5_DOMAIN', 'http://zpxlcm.tistory.com');
define('G5_HTTPS_DOMAIN', 'https://zpxlcm.tistory.com');

 

보안 주소를 계속 사용하실 경우엔 아래와 같이

G5_HTTPS_DOMAIN에만 https://도메인주소 를 입력해 설정하면 됩니다.

define('G5_DOMAIN', '');
define('G5_HTTPS_DOMAIN', 'https://zpxlcm.tistory.com');

 


 

+) 참고

http에서 https 리다이렉트 후 "이 사이트의 보안 연결은 완벽하지 않습니다."와 같은 메시지가 뜨는 경우

콘솔 창을 확인해보면  Mixed Content 메시지가 나타납니다.

"Mixed Content: The page at 'https://~' was uploaded over HTTPS, but requested an insecure element 'http://~'. This request was automatically upgraded to HTTPS, ~"

 

말 그대로 사이트는 https로 자동 전환되었는데 http가 적용되어있는 내부 요소가 있다는 뜻입니다.

Mixed Content: The page at 'https://~' was loaded over HTTPS ~

저의 경우는 팝업 이미지의 경로가 http로 고정되어있었습니다.

오류가 발생하는 요소의 http를 https로 변경해주면 오류가 해결됩니다.

 

 

반응형

댓글