thiratis.com API 연결을 위한 SSL 인증서 검증 예외 처리 추가

This commit is contained in:
dohyeons 2025-11-27 17:11:39 +09:00
parent 7c42e88593
commit 2c5fe41a21
1 changed files with 18 additions and 5 deletions

View File

@ -607,12 +607,25 @@ export class ExternalRestApiConnectionService {
}
}
// HTTP 요청 실행 (배치관리 RestApiConnector와 동일하게 TLS 검증 우회 옵션 적용)
// HTTP 요청 실행
// [인수인계 중요] 2024-11-27 추가
// 특정 레거시/내부망 API(예: thiratis.com)의 경우 SSL 인증서 체인 문제로 인해
// Node.js 레벨에서 검증 실패(UNABLE_TO_VERIFY_LEAF_SIGNATURE)가 발생합니다.
//
// 원래는 인프라(OS/Docker)에 루트 CA를 등록하는 것이 정석이나,
// 유지보수 및 설정 편의성을 위해 코드 레벨에서 '특정 도메인'에 한해서만
// SSL 검증을 우회하도록 예외 처리를 해두었습니다.
//
// ※ 보안 주의: 여기에 모르는 도메인을 함부로 추가하면 중간자 공격(MITM)에 취약해질 수 있습니다.
// 꼭 필요한 신뢰할 수 있는 도메인만 추가하세요.
const bypassDomains = ["thiratis.com"];
const shouldBypassTls = bypassDomains.some((domain) =>
url.includes(domain)
);
const httpsAgent = new https.Agent({
// 배치관리와 동일하게, 일부 내부망/자체 서명 인증서를 사용하는 API를 위해
// 인증서 검증을 비활성화한다.
// 공개 인터넷용 API에는 신중히 사용해야 함.
rejectUnauthorized: false,
// bypassDomains에 포함된 URL이면 검증을 무시(false), 아니면 정상 검증(true)
rejectUnauthorized: !shouldBypassTls,
});
const requestConfig = {