Mixed Content 질문입니다.

Mixed Content 질문입니다.

QA

Mixed Content 질문입니다.

답변 1

본문

서버이전 전에는 전혀 문제가 없었는데, 서버 이전 후에 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 인지 확인해 보시는 게 좋을 것 같습니다.

 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 265
© SIRSOFT
현재 페이지 제일 처음으로