[SSL 설치 가이드] Webtob - WildCard & Multi
1. 다중 SSL인증서 환경 설정
webtbob 환경 파일을 vi로 수정 합니다.
[root@localhost ~]$ vi /usr/local/webapp/webtob/config/http.m
*VHOST
eznbiz_ssl DOCROOT="/usr/local/webapp/webtob/docs/eznbiz/",
PORT="443",
* 설명 : SSL 서비스 포트 설정
SSLFLAG="Y",
* 설명 : SSL 서비스 사용 설정
SSLNAME="eznbizssl",
* 설명 : 사용 할 SSL별칭 설정
HostName="www.eznbiz.com"
korsec_ssl DOCROOT="/usr/local/webapp/webtob/docs/korsec/",
PORT="444",
* 설명 : SSL 서비스 포트 설정
SSLFLAG="Y",
* 설명 : SSL 서비스 사용 설정
SSLNAME="eznbizssl",
* 설명 : 사용 할 SSL별칭 설정(위의 설정과 동일하게 설정한다.)
HostName="www.korsec.co.kr"
*SSL
eznbizssl CertificateFile = "/usr/local/webtob/config/eznbiz/www.eznbiz.com.crt",
* 설명 : 인증서 경로 설정
CertificateKeyFile = "/usr/local/webtob/config/eznbiz/www.eznbiz.com.key",
* 설명 : 개인키 경로 설정
CertificateChainFile = "/usr/local/webtob/config/eznbiz/www.eznbiz.com.ca-bundle",
* 설명 : 체인 인증서 경로 설정
CACertificateFile = "/usr/local/webtob/config/eznbiz/www.korsec.co.kr.root-bundle",
* 설명 : 루트 인증서 경로 설정
PassPhraseDialog="exec:/root/webtob/ssl/pass.sh"
* 설명 : 재시작시 비밀번호 입력없이 재시작이 가능하게 한다.
*SVRGROUP
htmlg SVRTYPE = HTML
eznbiz_svr SVRTYPE = JSV, VhostName = "eznbiz, eznbiz_ssl"
korsec_svr SVRTYPE = JSV, VhostName = "korsec, korsec_ssl"
*SERVER
html SVGNAME = htmlg, MinProc = 50, MaxProc = 50, ASQCount = 5
tving_mb SVGNAME = eznbiz_svr, MinProc = 100, MaxProc = 200, ASQCount = 5, SvrChkTime=30
*URI
uriexact Uri = "/", MATCH = "exact", Svrtype = HTML, SvrName = html
uri1 Uri = "/", Svrtype = JSV, SvrName = eznbiz, VhostName = eznbiz
uri2 Uri = "/", Svrtype = JSV, SvrName = eznbiz, VhostName = eznbiz_ssl
uri3 Uri = "/", Svrtype = JSV, SvrName = korsec, VhostName = korsec
uri4 Uri = "/", Svrtype = JSV, SvrName = korsec, VhostName = korsec_ssl
* 설명 : JEUS연동 설정
*LOGGING
log1 Format = "DEFAULT", FileName = "/webtob/log/eznbiz/access.log_%M%%D%%Y%", Option = "sync"
log2 Format = "ERROR", FileName = "/webtob/log/eznbiz/error.log_%M%%D%%Y%", Option = "sync"
log3 Format = "%h %l %u %t \"%r\" %>s %b \ %D", FileName = "/webtob/log/eznbiz/access.log_%M%%D%%Y%", Option = "sync"
log4 Format = "SYSLOG", FileName = "/webtob/log/system.log_%M%%D%%Y%", Option = "sync"
log5 Format = "DEFAULT", FileName = "/webtob/log/korsec/access.log_%M%%D%%Y%", Option = "sync"
log6 Format = "ERROR", FileName = "/webtob/log/korsec/error.log_%M%%D%%Y%", Option = "sync"
*ERRORDOCUMENT
503 status = 503, url = "/503.html"
404 status = 404, url = "/404.html"
403 status = 403, url = "/403.html"
:wq!
2. 패스워드 쉘 생성하기.
패스워드를 자동으로 입력하게 하는 쉘을 생성합니다.
[root@localhost ssl]$ vi pass.sh
#!bin/sh
echo password
wq!
* 설명: echo “password” 를 입력하도록 한다.
3. 서비스 재기동
환경 파일을 컴파일 후 재기동합니다.
[root@localhost ~]$ wscfl –i http.m
* 설명 : 환경파일 컴파일
urrent configuration:
Number of client handler(HTH) = 1
Supported maximum user per node = 4047
Supported maximum user per handler = 4047
Successfully created the configuration file (/root/webtob/config/wsconfig) for node eznbiz.
The host name of the running machine is eznbiz.
[root@localhost webtob]# wsdown
* 설명: 서버를 종료하도록 한다.
Do you really want to shut down WebtoB? (y : n): y
WSDOWN for node(localhost) is starting:
WSDOWN: SERVER(html:1) downed: Fri Jan 1 00:00:00 2016
WSDOWN: SERVER(html:0) downed: Fri Jan 1 00:00:00 2016
WSDOWN: SERVER(cgi:11) downed: Fri Jan 1 00:00:00 2016
WSDOWN: SERVER(ssi:21) downed: Fri Jan 1 00:00:00 2016
WSDOWN: SERVER(ssi:20) downed: Fri Jan 1 00:00:00 2016
WSDOWN: SERVER(cgi:10) downed: Fri Jan 1 00:00:00 2016
WSDOWN: HTL downed: Fri Jan 1 00:00:00 2016
WSDOWN: HTH downed: Fri Jan 1 00:00:00 2016
WSDOWN: WSM downed: Fri Jan 1 00:00:00 2016
[root@localhost webtob]# wsboot
* 설명: 서버를 시작하도록 한다.
Booting WebtoB on node (eznbiz)
Welcome to WebtoB demo system. It will expire on 2099/12/31
Today is 2016/06/07
Starting WSM at Fri Jan 1 00:00:00 2016
Starting HTL at Fri Jan 1 00:00:00 2016
Starting HTH at Fri Jan 1 00:00:00 2016
Current WebtoB Configuration:
Number of client handlers (HTH) = 1
Supported maximum user per node = 4047
Supported maximum user per handler = 4047
Starting SVR(htmls) at Fri Jan 1 00:00:00 2016
Starting SVR(htmls) at Fri Jan 1 00:00:00 2016
Starting SVR(cgis) at Fri Jan 1 00:00:00 2016
Starting SVR(cgis) at Fri Jan 1 00:00:00 2016
Starting SVR(ssis) at Fri Jan 1 00:00:00 2016
Starting SVR(ssis) at Fri Jan 1 00:00:00 2016
4. 포트 확인
[root@localhost ~]# netstat -na | grep httpd
tcp 0 0 :::80 :::* LISTEN
tcp 0 0 :::443 :::* LISTEN
5. 인증서 확인
443포트 Listen 된 상태에서 아래의 명령어를 사용하여 로컬에서 인증서를 확인 합니다.
[root@localhost ~]#echo "" | openssl s_client -connect localhost:443 | openssl x509 -noout -dates
depth=2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA
verify error:num=20:unable to get local issuer certificate
verify return:0
notBefore=Jan 1 00:24:14 2016 GMT #인증서 시작일
notAfter=Dec 31 :38:20 2017 GMT #인증서 만료일
설명 : 로컬에서 인증서 출력이 정상적이고 외부에서 https://[도메인]으로 브라우저 접속 시 통신이 되지 않을 경우 내부 방화벽(예. iptables), 외부 방화벽 등에 SSL포트가 Allow (또는 웹방화벽에 인증서가 설치가) 되어 있는지 확인 합니다.