https 접속시 페이지 레이아웃 깨짐 관련

https 접속시 페이지 레이아웃 깨짐 관련

QA

https 접속시 페이지 레이아웃 깨짐 관련

본문

안녕 하세요?

https, ssl 적용과 관련하여 QA, 팁 게시판, nginx Proxy manager 등의 내용을 다 찾아봤지만 정상적으로 되는 것이 없어서 문의 드리게 되었습니다.

 

아무래도 그누보드5를 처음 접하다 보니, 팁, 문의 게시판에 남겨진 코드들을 잘못 삽입하여 안되는 것일 수도 있지만 그럼에도 불구하고 게시판에 글을 쓰게 되었습니다. 살펴보시고 조언 부탁 드리겠습니다.

 

사용 환경은 아래와 같습니다.

도커 사용자 입니다.

- 시놀로지 1821+

- 사용 도커 이미지 : jay94ks/docker-gb5:latest-auto

docker-compose
version: '3.4'
services:
  web:
    image: 'jay94ks/docker-gb5:latest-auto'
    container_name: 'gnuboard5_web'
    volumes:
      - "/volume1/docker/gnuboard5/data:/var/www/html"
    environment: # 최초 설치가 완료되고 나면, G5_* 환경변수들을 모두 제거해도 됩니다.
      - G5_GIT_TAG=v5.5.13
      - G5_MYSQL_HOST=web-db
      - G5_MYSQL_USER=아이디
      - G5_MYSQL_PASSWORD=암호
      - G5_MYSQL_DB=mygb5
      - G5_ADMIN_ID=아이디
      - G5_ADMIN_PASSWORD=아이디
      - G5_ADMIN_NAME=별명
      - G5_ADMIN_EMAIL=이메일주소
      - G5_SHOP_INSTALL=yes
    ports: 
        - 8357:80 # 기본 포트가 아닌 다른 포트로 사용하시려면 포트 번호를 변경해 주세요.
    links: 
        - 'web-db'
        
  web-db:
    image: 'mariadb:latest'
    container_name: 'gnuboard5_db'
    restart: always
    environment:
      MYSQL_DATABASE: 'mygb5'
      MYSQL_USER: '아이디'
      MYSQL_PASSWORD: '암호'
      MYSQL_ROOT_PASSWORD: '암호' # DB 루트 계정이 필요하지 않다면 지정하지 마세요.
    volumes:
      - '/volume1/docker/gnuboard5/db:/var/lib/mysql'
    ports: # DB에 직접 접근해서 볼 수 있어야 하는게 아니라면 지정하지 마세요.
      - '3309:3306'
    command:
      - '--character-set-server=utf8mb4'
      - '--collation-server=utf8mb4_unicode_ci'

 

- 도메인 주소 : cloudflare

- nginx proxy manager 를 통하여 gnuboard.도메인.com 으로 연결

3067922008_1711895385.1915.png

3067922008_1711895414.072.png

3067922008_1711895428.0568.png

 

3067922008_1711895512.3253.png

 

 

3067922008_1711895613.0334.png

이 질문에 댓글 쓰기 :

답변 3

먼저 인증서는 https 로인해서 www 와 없는 주소로 기본적 인증서가 발급이 됩니다.

웹호스팅일경우 도메인으로 인증을 하기때문에 이미 웹호스팅사에서는 이부분이 설정이 되어있는상태일겁니다. 하여 웹호스팅일경우에는

이는 정상이며.. 더 볼것이 없습니다.

하지만 개인서버호스팅일경우에는 인증서를서버쪽에서 인증서 경로 셋팅을 잡아주셔야합니다.

 

둘째 해당서버에서 그렇면 하나로 통합해주시면됩니다.

먼저 www 으로 홈을 잡을지 아니면 없는 걸로 인해서 홈을 잡을지를 경정을 해주시면됩니다.

설정은 가상호스트 에서 설정을 해주시던가  이는 서버호스팅이 아닐경우에는 접근 권한 없을겁니다.

하여 웹호스팅일경우에는 루트홈 에서 헥스파일에서 하나로 통합된 리디렉션 설정을 해주셔야합니다. 참고 헥스파일설정은 한상설정후 웹서버재부팅 해줘야적용된다라는점 ..참고하시구요

헥스파일 아닌 헤드서브에서 스크립트로이를 또한 처리가 가능도합니다.

https://sir.kr/g5_tip/21804?sfl=wr_subject%7C%7Cwr_content&stx=%EB%8F%84%EB%A9%94%EC%9D%B8

참고하시면됩니다.

 

셋째 여기까지 하나로 셋팅이 되셔다면 ..그누 config.php 파일또한 http 와 https 를 통합해주셔야합니다.  둘다 동일한 주소로 설정해주세요

 

 

친절하고 자세한 답변 감사합니다.
추가적인 질문입니다만, 작성해주신 링크를 따라가서 보면 2번째 문단의 "http 일반 홈페이지 강제 https로 접속하기"를 참고 하면 될 것 같은데, head 라는 표현이 index.php의 head 인지, head.php 인지 헷갈려서 시도를 안했던 것으로 기억합니다.

말씀해주신 내용들을 참고해서 차근히 다시 설정해보겠습니다. 감사합니다.

스크립트 처리 방식을 선택한다면 head.sub.php 에  <head> 안에 적용해주면됩나다.

참고로 스크립트/헥스/가상서버호스트 / 이셋중은 한곳만 하세요 셋방식중에 한곳만 정의되면된다라는뜻입니다.

참고2 그누보드 config.php 디파인드 설정은 http 던 https 던 둘다 www 붙여서 정의하세요 .. 그리고 아래 보시면 주석설명되어잇습니다. 쿠키설정은define('G5_COOKIE_DOMAIN',  '');
이부분에서  www 없이 설정해주시면됩니다.

define('G5_DOMAIN', 'https://www.도메인.kr');
define('G5_HTTPS_DOMAIN', 'https://www.도메인.kr');
define('G5_COOKIE_DOMAIN',  '도메인.kr');

만약 웹호스팅일경우 보안서버 주소가잇다면 :포트번호 꼭 넣어주시구요

카페24나 가비아 등 전문 호스팅 업체 이용하면 별도의 설정 작업은 없었을 겁니다.
config.php 파일에 

define('G5_DOMAIN', 'https://도메인.co.kr');
define('G5_HTTPS_DOMAIN', 'https://도메인.co.kr');

적으면 작동이 잘되었던것 같습니다.

 

그리고 스타일코드나 기타 링크등을 하드코딩으로 적지 않으면 잘 불러올 듯 합니다.

https://oliveit.tistory.com/43
여기 링크 참고 해보시는 것도 추천드립니다.

Nginx Proxy Manager 부터, 
Docker compose 까지.. 
세팅이 저랑 거의 똑같으신데요, 

 

다른점이라고는

Docker Network 사용유무와 

Docker image 정도 뿐인것 같습니다.

 

제 경우, 


head.sub.php 의 <head> 태그 범위내에 (</head> 까지)

아래 스크립트를 추가하고, 

<!-- https force up --> <script language="Javascript" type="text/javascript"> <!-- var host = location.host.toLowerCase(); var currentAddress = location.href; if (host.indexOf("www")== -1) { currentAddress = currentAddress.replace("//http","//https."); location.href = currentAddress; } //--> </script>

 

config.php 안에, 두가지 수정해줬더니, 

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

 

정상적으로 보입니다. 

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

회원로그인

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