사용자 도구

사이트 도구


wiki:web:apache:ssl_적용_가이드

문서의 이전 판입니다!


SSL(https) 적용 가이드

  • description :
  • author : 김토피아
  • email : kimmk@repia.com
  • lastupdate : 2021-01-19

요청, 질문

  • 요청하실 내용을 이름과 함께 작성해 주세요
  • 예시) 예시) 이것 저것 모두 도와주세요~ (할당된 사용자 김토피아, kimmk. 마감일 2021-01-18)

SSL 이란?

SSL은 Secure Socket Layer의 약자
HTTPS는 Hypertext Transfer Protocol의 약자 보통 443 포트를 사용
SSL를 사용하여 HTTP 프로토콜의 보안 버전

준비과정(서버 작업 전)

0. 기본적으로 https 작업은 홈페이지 업체에 요청하며 담당자와 업체에서 작업진행을 매우 회피 할 경우 지원 ( 검색엔진의 유지보수 범위는 검색엔진까지 )
1. apache가 독립적으로 있을 때만 작업하며, 타 솔루션 또는 홈페이지가 같이 사용 중인 경우에는 검색엔진에서 절대 작업하지 않는다.
2. 담당자에게 key파일, crt 파일을 받는다. (암호도 있는지 확인 한다. apache가 재시작 할때 암호를 묻는 인증서가 있음)
3. search.도메인.go.kr 인 경우에는 와일드카드 사용이 가능한 파일을 달라고 요청
4. root 계정 필수

준비과정(서버 작업)

1. OS 및 apache 버전 확인
[root@search] cat /etc/redhat-release
CentOS release 6.7 (Final)
 
[root@search] httpd -version
Server version: Apache/2.2.15 (Unix)
Server built:   Jun 19 2018 15:45:13
2. 기존 파일 백업
[root@search] cd /etc/httpd/
[root@search] cp -rf conf conf_20210118
[root@search] cp -rf conf.d conf.d_20210118

적용과정(서버 작업)

1. ssl module 확인 (mod_ssl.so 파일 확인)
[root@search] cd /etc/httpd/modules/
[root@search] ls -al mod_ssl.so
 
# mod_ssl.so가 없을 경우에 /etc/httpd/conf.d/ssl.conf도 같이 없음
# mod_ssl.so 설치는 yum으로 설치 진행
 
[root@search] yum install mod_ssl
 
# OS가 노후 됐다면 아래의 오류가 발생 할 수 있음 (CentOS 6.7 기준)
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Determining fastest mirrors
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
 Eg. $ echo "https://vault.centos.org/6.10/updates/x86_64/" > /var/cache/yum/x86_64/6/updates/mirrorlist.txt/
removing mirrorlist with no valid mirrors: /var/cache/yum/x86_64/6/base/mirrorlist.txt
Error: Cannot find a valid baseurl for repo: base
#해결방안 (각 오류에 대해서는 google에 자료가 많이 있습니다.)
[root@search] echo "https://vault.centos.org/6.10/os/x86_64/" > /var/cache/yum/x86_64/6/base/mirrorlist.txt
[root@search] echo "https://vault.centos.org/6.10/extras/x86_64/" > /var/cache/yum/x86_64/6/extras/mirrorlist.txt
[root@search] echo "https://vault.centos.org/6.10/updates/x86_64/" > /var/cache/yum/x86_64/6/updates/mirrorlist.txt
2. SSL 설치 완료 후 443 포트 동작 확인
# 아파치 재시작 ( 특별한 오류가 없다면 [ OK ] 메시지와 함께 프로세스 정상 구동
# 검색페이지 서비스 되는지 확인
[root@search] service httpd restart
#포트로 확인
[root@search] netstat -anlp | grep 443
tcp        0      0 :::443                      :::*                        LISTEN      7326/httpd
unix  3      [ ]         STREAM     CONNECTED     17443  2786/gdm-simple-gre
#Telnet으로 확인
#Escap character is 가 보이면 포트 활성화
[root@search] telnet 127.0.0.1 
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.

> 3. ssl.conf 파일 수정

# 변경이 된 부분만 수정
[root@search] vi /etc/httpd/conf.d/ssl.conf
 
<VirtualHost _default_:443> 
⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩
<VirtualHost *:443>
#####################################################
 
ServerName www.example.com:443
⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩
ServerName search.jbe.go.kr
ServerAlias search.jbe.go.kr
 
######################################################
 
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩
SSLCertificateFile /etc/httpd/conf.d/star_jbe_go_kr_cert.pem
 
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩⇩
SSLCertificateKeyFile /etc/httpd/conf.d/star_jbe_go_kr_key.pem
 
######################################################
 
# 추가 작성 부분
# </VirtualHost> 위에 추가
 
    223 #Configure mod_jk
    224 JkLogFile /var/log/httpd/mod_jk.log
    225 JkLogLevel info
    226
    227 JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
    228 JkRequestLogFormat "%w %V %T"
    229
    230 #Root context
    231 JkMount /*.jsp ajp13
    232 JkMount /*.do ajp13
 
/volume1/web/dokuwiki/data/attic/wiki/web/apache/ssl_적용_가이드.1610987669.txt.gz · 마지막으로 수정됨: 2022/03/10 19:52 (바깥 편집)