
ab로 HTTPS를 테스트할 수 없을 때 — "SSL not compiled in; no https support"
핵심 요약
- 증상 —
ab https://주소를 치면SSL not compiled in; no https support메시지 - 원인 — 기본으로 컴파일된 ab는 SSL을 지원하지 않음
- 함정 —
--with-ssl은 아파치가 SSL 서비스를 하기 위한 옵션이지, ab가 SSL을 테스트하기 위한 옵션이 아님 - 조치 — configure 옵션에
--enable-ssl을 추가해서 다시 컴파일
일반적으로 이렇게 하면
ab https://yourdomain.com
이런 메시지를 만나게 됩니다.
SSL not compiled in; no https support그래서 열심히 뒤졌습니다 ^^;;
기본적으로 컴파일된 ab는 SSL을 지원하지 못한다고 되어있더라구용.
그럼 어떻게 컴파일해야 되는지를 조사하게 되었습니다.
보통은 이렇게 컴파일합니다
SSL을 컴파일할 때 기본적으로 아래와 비슷한 컴파일 옵션을 줄 겁니다.
./configure --with-ssl --with-mpm=prefork \
--prefix=/home/ase/non/install --with-mods-shared=most
이렇게 하면 아파치로 SSL 서비스를 할 수 있지만, ab로 SSL 테스트는 진행할 수 없습니다.
--enable-ssl 을 추가해야 합니다
./configure --with-ssl --enable-ssl --with-mpm=prefork \
--prefix=/home/ase/non/install --with-mods-shared=most
컴파일하실 때 옵션을 위와 같이 주시면 SSL 테스트가 가능한 ab가 컴파일됩니다.
여기서 중요한 것은 --enable-ssl 을 추가해 주는 것입니다.
아파치 configure의 도움말을 보면 요렇게 되어 있답니다.
--enable-ssl SSL/TLS support (mod_ssl)이제 다시 해보니깐
./ab https://yourdomain.com
일반적으로 http에서 내보내는 메시지와 동일한 값을 보여 주네용 ^^;;
모두들 좋은 하루 되십시오.
참고로 제가 테스트해 본 아파치 소스는 apache 2.2.13 입니다.
그리고 잘 아시겠지만 혹시나 해서용, yourdomain.com 은 그냥 제가 문서 적을 때 적는 겁니다. 자기 자신의 도메인이나 테스트하려고 하는 적당한 도메인으로 변경하십시오 ^^;;
앗 출처... 제가 참조한 곳은 아래 주소입니다.
이 글은 스프링노트에서 작성되었습니다.
추기 — 이 ab로 5일 뒤에 진짜 문제를 잡았습니다 (2026년)
이 글은 2009년 9월에 쓴 글입니다.
이때 ab를 SSL 되게 만들어 놓은 덕분에, 5일 뒤에 SSL 이미지 서버가 5분마다 느려지던 문제를 잡을 수 있었습니다.
돌아보면 순서가 이랬네요 ^^
측정 도구가 안 됨 → 도구를 되게 만듦 → 측정 → 진단 → 해결 → 재검증
성능 테스트에서는 이 첫 단계에서 막히는 경우가 생각보다 많습니다. 부하를 걸기도 전에, 부하를 걸 도구부터 손봐야 하는 상황이요.
그런데 이건 그냥 귀찮은 잡일이 아닙니다. 측정 도구가 대상과 같은 조건(여기서는 HTTPS)을 못 만들면, 측정 자체가 성립하지 않습니다.
http로 재고 https 서비스를 판단할 수는 없으니까요. 핸드셰이크 비용도, 암호화 비용도 다 빠진 숫자가 나옵니다.
지금 기준으로 두 가지
요즘은 배포판 패키지의 ab에 SSL이 이미 들어 있는 경우가 많습니다. 소스를 직접 컴파일할 일이 그때보다 훨씬 줄었죠. 빠른 확인 정도라면 wrk나 k6 같은 도구가 더 편하기도 하구요.
다만 --with-ssl(서비스용)과 --enable-ssl(도구용)을 구분해야 한다는 감각은 지금도 그대로 유효합니다. 서버에 SSL을 붙이는 것과 테스트 도구에 SSL을 붙이는 것은 다른 일입니다. 이름이 비슷해서 같은 걸로 착각하기 쉬운데, 실제로는 각각 따로 챙겨야 합니다.
이 구분을 놓쳐서 하루를 날린 게 2009년의 저였고 ^^;; 지금도 비슷한 함정은 도구를 바꿔 가며 계속 나옵니다.
정정
본문에 테스트 환경을 apache 2.1.13이라고 적었는데, 2.2.13의 오기로 보입니다. 2.1.x는 2.2로 가는 개발 브랜치라 그 번호의 정식 릴리스가 없고, 2.2.13이 2009년 8월 6일에 나왔으니 시점도 맞습니다. 본문은 2.2.13으로 고쳐 두었습니다.
'성능진단(테스트) · 개선' 카테고리의 다른 글
| [성능개선이야기] 시스템 모니터링(System Monitoring)의 개념 및 오픈소스 솔루션 비교 (nmon / Zabbix / Prometheus) (0) | 2026.07.28 |
|---|---|
| [성능 개선 이야기] APM이란 무엇인가? 사상, 기능, 그리고 언어별 작동 원리 (0) | 2026.07.20 |
| Apache SSL에서 주기적으로 속도가 느리다면 (0) | 2009.09.08 |