문서의 이전 판입니다!
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