사용자 도구

사이트 도구


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

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
wiki:web:apache:ssl_적용_가이드 [2021/01/19 00:29]
kimmk 만듦
wiki:web:apache:ssl_적용_가이드 [2023/01/13 18:44] (현재)
줄 1: 줄 1:
 +====== SSL(https) 적용 가이드 ======
 <WRAP left notice 80%> <WRAP left notice 80%>
   * description :    * description : 
줄 6: 줄 7:
 </WRAP> </WRAP>
 <WRAP clear/> <WRAP clear/>
 +===== 요청, 질문 =====
 +  * 요청하실 내용을 이름과 함께 작성해 주세요
  
 +  * 예시) <do 2021-01-18 김토피아,kimmk>예시) 이것 저것 모두 도와주세요~</do>
 +
 +===== SSL 이란? =====
 +> SSL은 Secure Socket Layer의 약자
 +> HTTPS는 Hypertext Transfer Protocol의 약자 보통 443 포트를 사용
 +> SSL를 사용하여 HTTP 프로토콜의 보안 버전
 +
 +===== 준비과정(서버 작업 전) =====
 +'' 기존에 apache(httpd)에 적용이 된 경우라면 재부팅 시 암호를 요구 할 수 있으므로 꼭 암호 확보 후 작업 진행 할것 ''\\
 +**__'' 암호를 모를 경우 apache(httpd)는 종료 할 수 있으나 시작 할 수 없음 ''__**
 +> 0. 기본적으로 https 작업은 홈페이지 업체에 요청하며 담당자와 업체에서 작업진행을 매우 회피 할 경우 지원 ( 검색엔진의 유지보수 범위는 검색엔진까지 )
 +> 1. apache가 독립적으로 있을 때만 작업하며, 타 솔루션 또는 홈페이지가 같이 사용 중인 경우에는 검색엔진에서 절대 작업하지 않는다.
 +> 2. 담당자에게 key파일, crt 파일을 받는다. (암호도 있는지 확인 한다. apache가 재시작 할때 암호를 묻는 인증서가 있음)
 +> 3. search.도메인.go.kr 인 경우에는 와일드카드 사용이 가능한 파일을 달라고 요청
 +> 4. root 계정 필수
 +
 +===== 준비과정(서버 작업) =====
 +> 1. OS 및 apache 버전 확인
 +<code bash>
 +[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
 +
 +</code>
 +> 2. 기존 파일 백업
 +<code bash>
 +[root@search] cd /etc/httpd/
 +[root@search] cp -rf conf conf_20210118
 +[root@search] cp -rf conf.d conf.d_20210118
 +</code> 
 +
 +===== 적용과정(서버 작업) =====
 +> 1. ssl module 확인 (mod_ssl.so 파일 확인)
 +<code bash>
 +[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
 +</code>
 +> 2. SSL 설치 완료 후 443 포트 동작 확인
 +<code bash>
 +# 아파치 재시작 ( 특별한 오류가 없다면 [ 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 '^]'.
 +</code> 
 +> 3. ssl.conf 파일 수정
 +<code bash>
 +# 변경이 된 부분만 수정
 +[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
 +    
 +</code>
 +
 +===== Doc =====
 +  * {{wiki:web:apache:한국정보인증_apache_v2.2이상_ssl인증서_설치가이드_v3.1.pdf|[한국정보인증](Apache_v2.2이상)SSL인증서_설치가이드_V3.1.pdf}}
 +
 +{{tag>김토피아 ssl httpd apache}}
/volume1/web/dokuwiki/data/attic/wiki/web/apache/ssl_적용_가이드.1610983785.txt.gz · 마지막으로 수정됨: 2022/03/10 19:52 (바깥 편집)