작업 전 확인
어느 조치를 하든 여기서 시작한다. SSH로 접속해 WebtoB 운영 계정으로 전환한다.
프로세스와 설치 경로를 확인한다.
ps -ef | grep -E 'wsm|htl|hth' | grep -v grep # WebtoB 프로세스
echo $WEBTOBDIR # 설치 경로 (미설정이면 프로세스 경로에서 역추적)
설정 파일은 $WEBTOBDIR/config/ 아래 환경설정 파일이다(관례상 http.m). 지금 SSL 설정이 어디 있는지 본다.
grep -n -B2 -A8 '^\*SSL' $WEBTOBDIR/config/http.m
버전을 확인하는 명령은 보유 버전마다 다르다 [매뉴얼 확인]. 라이선스 문서, 설치 기록, Tmax 기술지원 계약 정보로도 확인할 수 있다.
*SSL 섹션 항목
Tmax 공식 관리자 안내서(WebtoB 6, SSL 절) 기준으로 *SSL 섹션에는 이런 항목이 있다.
CertificateFile: 서버 인증서 파일CertificateKeyFile: 개인키 파일CACertificateFile,CACertificatePath: CA 인증서Protocols: 쓰거나 막을 프로토콜."-SSLv2, -SSLv3"처럼 앞에-를 붙이면 비활성이다.- 그 밖에
VerifyClient,VerifyDepth,RandomFile등
설정 예는 형식만 참고한다. 항목명과 값은 보유 버전 매뉴얼과 대조한다.
*SSL
ssl1 CertificateFile = "/경로/도메인.crt.pem",
CertificateKeyFile = "/경로/도메인.key.pem",
Protocols = "-SSLv2, -SSLv3, -TLSv1, -TLSv1.1"
VHOST/NODE에 SSL 연결 [매뉴얼 확인]
443 리슨과 *SSL 정의를 잇는 항목(관례상 SSLFLAG, SSLNAME 류)은 버전마다 이름이 다를 수 있다. 보유 버전 매뉴얼의 NODE/VHOST 절에서 확인하고 적용한다.
설정 적용 (공식 절차)
cd $WEBTOBDIR/config
cp http.m http.m.bak.$(date +%Y%m%d) # 백업 먼저
vi http.m # 수정
wscfl -i http.m # 컴파일 — 오류면 여기서 멈춤 (서비스 영향 없음)
신규 도메인 인증서 설치
- 발급 공통 가이드대로 발급받고 파일을 준비한다.
- 인증서와 개인키를 WebtoB 계정이 읽는 경로에 두고, 개인키는
chmod 600으로 막는다. *SSL섹션에 새 정의를 추가한다(위 항목 기준).- 해당 도메인의 VHOST/NODE에 SSL을 연결한다 [매뉴얼 확인].
wscfl -i http.m으로 컴파일하고wsdown,wsboot로 재기동한다. 순단은 위 콜아웃과 같다.openssl s_client -connect 도메인:443 -servername 도메인이나 진단 툴로 확인한다.
보안 헤더와 HTTPS 리다이렉트
WebtoB 단독 구성은 버전마다 지원 편차가 크다 [매뉴얼 확인]. 실무에서는 편차를 피해 둘 중 한 곳에서 처리한다.
- 앞단 프록시(L7/Nginx)에서 처리한다. Nginx 가이드를 따른다.
- JEUS 연동 구성이면 웹 컨테이너 필터로 헤더를 넣는다.
재검사
진단 툴로 다시 검사한다. 결과는 최대 10분 캐시된다.
참조 문서
- Tmax 개발자 가이드 목록 (공식): WebtoB 관리자 안내서와 릴리스 노트를 내려받는 곳
- Tmax 관리자 안내서 SSL 절:
*SSL항목명과Protocols문법의 근거 (WebtoB 6 기준)