보안서버 ssl적용

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
보안서버 ssl적용

QA

보안서버 ssl적용

본문

보안서버 ssl적용을 했는데.

관리자 페이지에 들어가면 자물쇠모양이 나오는데..

테마적용된 쇼핑몰페이지 부분에는 적용이 안되어 나옵니다..

config.php 이부분 말고 고쳐야 될 부분이 있나요?

이 질문에 댓글 쓰기 :

답변 6

이미지들이 https가 아닌 http로 연결되어 있습니다.

 

F12 개발자 모드에서 해당하는 코드들을 찾아 전부 https로 수정해줘야 합니다.

 

이미지가 루트에 있는데 수동으로 넣으신 부분이 많네요.

웹 페이지 내에 하드 코딩된 http:// 에 대한 처리 방법입니다.

 

보안 서버 설정 (Apache2, Let's Encrypt SSL 기준, Ubuntu)

 

사이트 주소 : aabb.com (가정)

 

제 경우는 Let's Encrypt 무료 서비스를 이용하고 있습니다.
3개월마다 갱신하는데 갱신할때에 갱신 프로그램이 신청한 사이트의 주인이 맞는지 확인하는 과정을 거치게 됩니다.

 

갱신 명령어 sudo letsencrypt renew

 

1. 지정한 폴더 ( /웹사이트저장위치}/.well-known )에 임시 파일 생성

 

2. Let's Encrypt 서버에 자신의 주소 ( aabb.com ) 를 보내고 신청

 

3. Let's Encrypt 서버는 요청자의 웹 사이트를 http 로 접속 (https아님)하여 1에서 지정한 파일이 있는지 확인
http://aabb.com/.well-known/어떤 파일

 

4. 모든 것이 정상적이면 ssl 인증서 갱신

---------

위와 같은 상황이므로 http://aabb.com/.well-known/ 로 시작하는 파일은 그냥 그대로 서비스 하고
http://aabb.com/다른폴더/어떤파일 의 경우는 https://aabb.com/다른폴더/어떤파일 로 바꾸길 원합니다.

 

Apache Conf 에서 http (80) 부분에서 지정합니다. (https (443) 아님)

 

<IfModule mod_rewrite.c>
RewriteEngine   on

RewriteCond %{REQUEST_URI} ^/\.well\-known
RewriteRule . - [L]

 

<IfModule mod_ssl.c>
RewriteCond %{REQUEST_URI} !^/\.well\-known
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
</IfModule>

 

---------

위의 설정 설명
<IfModule mod_rewrite.c>
- mod_rewrite 모듈이 설치 되었을때만 적용

 

RewriteEngine   on
- rewrite 엔진 시작 (사용자의 요청 주소를 다른 주소로 바꾸어 주는 서비스)

 

RewriteCond %{REQUEST_URI} ^/\.well\-known
- 만일 (RewriteCond) 요청자의 주소 (%{REQUEST_URI}) 가 주소 처음(^)이 /.well-known 이라면
- . 나 - 은 다른 뜻을 가진 특수 문자이므로 \ 표시로 막아 줍니다. . 라 표시 하지 않고 \.로 표기
- 특수 문자가 아니어도 \로 표기해도 문제 없습니다. A 라 해도 되고 \A 라 해도 됩니다.
- 애매하면 \ 를 붙입니다.

 

RewriteRule . - [L]
- 진행하라 (RewriteRule)  요청한 주소 내용(.)을 수정없이 (-) 이것으로 조건문 끝 ([L]) 

 

<IfModule mod_ssl.c>
- mod_ssl 모듈이 설치 되었을때만 적용

 

RewriteCond %{REQUEST_URI} !^/\.well\-known
- 만일 (RewriteCond) 요청자의 주소 (%{REQUEST_URI}) 가 주소 처음(^)이 /.well-known 이 아니라면 (!)

 

RewriteCond %{HTTPS} !=on
- 만일 https (%{HTTPS}) 가 켜져 (on) 있지 않다면 (!=)
- https 로 시작하지 않는 주소

 

RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
- 진행하라 (RewriteRule)  요청한 주소 내용을 처음부터 (^) 전체를
- https://요청호스트(%{HTTP_HOST}%)요청주소({REQUEST_URI})로 
- 이동 (R=301 : 응답코드 301 페이지 영원히 이동) 하고
- 조건문 끝 (L)

 

</IfModule>
- Apache 조건문 닫음 <IfModule mod_ssl.c> 

 

</IfModule>
- Apache 조건문 닫음 <IfModule mod_rewrite.c>

 

---------

 

Apache 명령어 (Ubuntu)

 

설정 체크  
sudo apache2ctl configtest

 

module 체크
sudo apache2ctl -M

 

서비스 재시작 (중지했다 시작)
sudo service apache2 restart

 

서비스 설정파일 재적용 (중지 없음)
sudo service apache2 reload

 

---------

 

Apache conf 파일을 수정시
sudo certbot renew --dry-run 
명령을 통해 SSL 갱신 명령어가 잘 작동하는지 꼭 확인해 두어야 합니다.

 

테스트


http://aabb.com/.well-known/test.txt 파일을 올려 두고 확인 했을 때
http://aabb.com/.well-known/test.txt 

https://aabb.com/.well-known/test.txt 파일을 올려 두고 확인 했을 때
https://aabb.com/.well-known/test.txt 로 변화 없이 진행


http://aabb.com/test.txt, http://aabb.com/다른 폴더/test.txt 의 파일들은
https://aabb.com/test.txt, https://aabb.com/다른 폴더/test.txt 로 변경

https://aabb.com/test.txt, https://aabb.com/다른 폴더/test.txt 의 파일들은
https://aabb.com/test.txt, https://aabb.com/다른 폴더/test.txt 로 변화 없이 진행

 

브라우저에서 테스트 할 수도 있으나 캐쉬 등으로 비정상 작동할 수 있으므로 curl 등의 명령어를 이용해서 보면 정확합니다.
https://curl.haxx.se/download.html
 

방금 사이트를 접속해 보았습니다.

 

현재의 상태
http://beautyque.co.kr/  -> http://beautyque.co.kr/
http://www.beautyque.co.kr/  -> http://beautyque.co.kr/

https://beautyque.co.kr/  -> https://beautyque.co.kr/
https://www.beautyque.co.kr/  -> https://beautyque.co.kr/

입니다.

 

현재 웹 서버 설정으로는
www.사이트 주소를 -> 사이트 주소로 바꾸어 주는 서비스는 작동중입니다.

 

메인 주소뿐 아니라 하위 주소
예를 들어 
http://www.beautyque.co.kr/data/item/canvas5/1212.gif
도 
http://beautyque.co.kr/data/item/canvas5/1212.gif
으로 서비스 되고 있습니다.


원하는 상태
http://beautyque.co.kr/
http://www.beautyque.co.kr/
https://beautyque.co.kr/
https://www.beautyque.co.kr/

위의 모든 요청을 https://beautyque.co.kr/ 으로 변경
일 것입니다.

 

사용자가 웹 브라우져에서 주소를 입력할 경우 beautyque.co.kr 이렇게 입력하면
http://beautyque.co.kr/ 이 주소를 먼저 방문하게 됩니다. (검색 엔진 등에서도 이전 주소인 http:// 로 저장되어 있을 것입니다.)


해서 https://beautyque.co.kr/ 에 접속이 안 되는 걸로 보입니다.

 

만일 사용자가 정확하게 https://beautyque.co.kr/ 를 입력한다면 모를까 보통의 경우를 예상하여 서비스를 수정해 두어야 합니다. 검색 엔진에 이전의 주소 (http://beautyque.co.kr/어떤주소들 도 같은 문제입니다.)

 

http://beautyque.co.kr/ 의 주소가 아니라 http://beautyque.co.kr/어떤폴더/어떤파일명 을 요청할 경우도 있을텐데  이 경우도 모두 https://beautyque.co.kr/어떤폴더/어떤파일명 로 변경해 주는 사항까지 고려해야 합니다.

 

여러 방법이 있지만 웹 서버의 설정 파일에서 수정하는 방법이 최선입니다.

 

아파치의 웹 서버의 설정파일에서

<IfModule mod_rewrite.c>
RewriteEngine   on
<IfModule mod_ssl.c>
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
</IfModule>

이라고 삽입해 두면 됩니다.

 

https://beautyque.co.kr/ 에 접속해 보았을때 대부분의 파일들은 https://beautyque.co.kr/파일명 으로 잘 서비스 되고 있습니다.

 

몇개 보이는 http://beautyque.co.kr/ 로 시작하는 주소는 관리자 설정 화면에서 찾아서 수정하시면 될 듯 합니다.

(페이지 소스 보기 http:// 으로 검색)

 

상세 사항은 이전 답변에 올려 두었습니다.
 

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

회원로그인

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