설명
운영 엔드포인트나 서버 설정에 공개 IP 주소를 하드코딩하면 인프라 변경, 인증서 검증, 네트워크 정책 적용이 어려워지고 우회 연결이 만들어질 수 있습니다.
잠재적 영향
- 환경별 네트워크 정책 우회
- 인증서 호스트명 검증 실패 또는 예외 증가
- 배포 후 엔드포인트 변경 어려움
해결 방법
- 운영 대상은 DNS 이름과 환경별 설정으로 관리합니다.
- 로컬 개발, 사설망, 문서화 예제 주소는 허용하되 운영 코드와 분리합니다.
- 인증서 검증과 네트워크 정책이 적용되는 표준 HTTPS 엔드포인트를 사용합니다.
예시
변경 전
swift
static let baseURL = "https://34.117.59.81/data"
변경 후
swift
import Foundation
struct AppConfig {
let apiBaseURL: URL
}
func makeRequestURL(config: AppConfig) -> URL {
return config.apiBaseURL.appendingPathComponent("data")
}
설명:
- 변경 전: 공개 IP 주소가 코드에 고정되어 있습니다.
- 변경 후: 환경별 설정을 통해 엔드포인트를 관리합니다.