참고사이트
https://www.comodossl.co.kr/certificate/ssl-installation-guides/Apache-privatekey-crt.aspx
추가해야하는 내용
openssl csr 생성 하는 방법까지 추가해서 넣기
포트 443 열기
포트 사용중인거 확인하기 443
SSL 서버에 적용하기 메뉴얼
주요 경로
/usr/local/apache-tomcat-6.0.20
/etc/httpd/conf.d
/etc/httpd/conf
/usr/local/apache/conf/extra
/usr/local/apache/conf
순서
1. httpd.conf의 ssl.conf 참조 주석 해제
2. worker 설정
3. ssl.conf 설정
4. 인증서 password 설정
5. 테스트
*항상 수정하는 파일의 원본 파일을 백업해 둘 것*
1. /usr/local/apache/conf/httpd.conf
httpd.conf 파일의 ssl.conf 파일을 참조하도록 주석을 해제해야함.
해당 파일을 찾다보면 위와 같은 라인의 주석을 해제하자 (없으면 주석해제한 코드를 추가)
#Include conf/extra/httpd-ssl.conf
2. 톰캣과 아파치의 연동이 되고 worker 설정이 아래와 같다고 가정하에...
worker.list=worker1
worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13
#worker.worker1.lbfactor=11
자세한 내용은 아래 링크 참조
http://kkamagistory.tistory.com/37
3. ssl.conf 설정
LoadModule ssl_module modules/mod_ssl.so
NameVirtualHost *:443
Listen 443
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
#SSLPassPhraseDialog builtin
SSLPassPhraseDialog exec:/usr/local/apache/test_ssl/passwd.sh
SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout 300
SSLMutex default
SSLRandomSeed startup file:/dev/urandom 512
SSLRandomSeed connect builtin
SSLCryptoDevice builtin
## SSL Virtual Host Context
<VirtualHost *:443>
ServerAdmin root@localhost
ServerName www.test.or.kr
#ServerAlias www.test.or.kr
DocumentRoot /home/test/webapps/ROOT
ErrorLog /var/log/httpd/ssl-test.or.kr-error_log
TransferLog /var/log/httpd/ssl-test.or.kr_access_log
JkMount /* worker1
JkMount /*.article worker1
JkMount /*.do worker1
JkMount /servlet/* worker1
JkMount /*.jsp worker1
LogLevel error
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /usr/local/apache/test_ssl/www_ggtest_or_kr_cert.pem
SSLCertificateKeyFile /usr/local/apache/test_ssl/www.ggtest.or.kr.key
SSLCertificateChainFile /usr/local/apache/test_ssl/ChainCA1.crt
SSLCACertificateFile /usr/local/apache/test_ssl/RootCA.crt
<Files ~ "\.(cgi|shtml|phtml|php3?)$">
SSLOptions +StdEnvVars
</Files>
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog logs/gg.or.kr_ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>
*확인사항*
JkMount뒤의 텍스트에는 워커의 이름이 붙어야한다.
DocumentRoot가 맞는 확인
443포트가 열려있는지 확인
하단의
SSLCertificateFile /usr/local/apache/test_ssl/www_ggtest_or_kr_cert.pem
SSLCertificateKeyFile /usr/local/apache/test_ssl/www.ggtest.or.kr.key
SSLCertificateChainFile /usr/local/apache/test_ssl/ChainCA1.crt
SSLCACertificateFile /usr/local/apache/test_ssl/RootCA.crt
는 인증서 파일이 제대로 위치하였는지 확인
4. 인증서 password 설정
SSLPassPhraseDialog exec:/usr/local/apache/test_ssl/passwd.sh
해당 스크립트는 서버 부팅시 입력해야하는 ssl 인증서의 비밀번호를 자동으로 입력하기 위한 설정이다.
passwd.sh를 까보면...
echo "test4848"
echo 뒤에 비밀번를 넣어주면 된다.
이후 passwd.sh 파일의 권한은 755로 줘야한다.
5. 테스트를 하기 위해서
182.162.27.29가 작업중인 서버의 주소고 ggtest.or.kr이 목표로 하는 주소라면
hosts 파일을 아래와 같은 방식으로 설정한다
182.162.27.29 ggtest.or.kr
182.162.27.29 www.ggtest.or.kr
이후 브라우저로 https://www.ggtest.or.kr 에 접속된다면 성공이다.
'보안 > SSL' 카테고리의 다른 글
SSL 작업하면서 궁금한 점들 (0) | 2018.04.03 |
---|