Mixed Content 질문입니다.

Mixed Content 질문입니다.

QA

Mixed Content 질문입니다.

본문

서버이전 전에는 전혀 문제가 없었는데, 서버 이전 후에 Mixed Content에러가 발생합니다.

 

이런, 저런 삽질하다가 다음과 같이 수정하니까 Mixed Content가 잡히긴 하는데요.

 

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

/*
www.sir.kr 과 sir.kr 도메인은 서로 다른 도메인으로 인식합니다. 쿠키를 공유하려면 .sir.kr 과 같이 입력하세요.
이곳에 입력이 없다면 www 붙은 도메인과 그렇지 않은 도메인은 쿠키를 공유하지 않으므로 로그인이 풀릴 수 있습니다.
*/
define('G5_COOKIE_DOMAIN',  '.abc.com');

 

당연히 원래 설정은 다음과 같았습니다.

 

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

 

아무튼, 위와 같이 config를 수정하니 Mixed Content는 잡히는데,

 

로그인할때 등 url에 타 도메인을 지정할 수 없습니다 라는 오류가 출력되는데...

 

혹시 고수님들, 뭐가 문제인지 짐작가시는 게 있다면 조언좀 부탁드립니다 ㅠ

 

서버환경 아파치2.4 php7.4 마리아디비 (이전 서버와 동일)

 

 

 

이 질문에 댓글 쓰기 :

답변 1

ssl 인증서를 설치한 환경이 어떻게 되는지 모르겠지만,

최근 클라우드 플레어 ssl 인증서를 이용하면서 Mixed Content 관련 오류들이 좀 있었습니다.

클라우드 플레어 인증서를 이용하다 보니, 서버 자체에는 인증서가 없는 관계로

주소창은 https로 찍히지만, 실제 G5_URL 은 http로 잡히게 되더군요.

때문에 윗 질문처럼 G5_DOMAIN에 https로 지정하는 방법이 있겠지만, 저 같은 경우는 common.php 파일에 한 줄을 추가해서 해결을 했습니다.

 

common.php 윗쪽에

function g5_path() 함수의

    $http = 'http' . ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ? 's' : '') . '://';
윗 줄 아래에

    $http = $_SERVER['HTTP_X_FORWARDED_PROTO'] ? $_SERVER['HTTP_X_FORWARDED_PROTO'].'://' : $http;

와 같이 $http 변수를 한번 더 정의해 줘서 해결을 했습니다.

ssl인증서 설치 환경에 따라 안될수 도 있으니, 
먼저 에러가 나는 원인인 로그인 체크 시 넘어가는 url 값의 호스트가 http인지 https 인지 확인해 보시는 게 좋을 것 같습니다.

 

답변을 작성하시기 전에 로그인 해주세요.
전체 265
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT