실무 가이드
로컬 포트 확인
개발 PC에서는 ack가 사용하는 포트가 다른 프로그램과 충돌하지 않는지 확인합니다. HandStack 도구 또는 운영체제 명령으로 포트 점유 상태를 확인할 수 있습니다.
ack, rdy는 포트가 이미 사용중이면 실행 중인 운영체제에 맞는 확인 명령을 로그에 함께 출력합니다.
Windows
netstat -ano | findstr :8421
macOS
lsof -nP -iTCP:8421 -sTCP:LISTEN
Linux(Ubuntu)
ss -lptn 'sport = :8421'
IIS 리버스 프록시 기준
IIS나 다른 프록시를 앞에 두는 경우 외부 요청 정보가 내부 ack로 전달되어야 합니다.
X-Forwarded-Host=<원본 Host>
X-Forwarded-For=<클라이언트 IP>
X-Forwarded-Proto=<원본 프로토콜>
프록시가 SSL을 종료하고 내부에는 HTTP로 전달하는 경우 X-Forwarded-Proto가 특히 중요합니다.
포트 설계 기준
여러 환경을 운영할 때는 포트 규칙을 정합니다.
- 개발: 개인 PC에서 충돌이 적은 포트
- 검증: 운영과 같은 프록시 구조
- 운영: 표준 80/443 외부 공개, 내부 포트는 방화벽으로 보호
- 보조 호스트:
deploy,agent등 목적별 별도 포트
체크리스트
- 외부 URL과 내부 포트의 연결 경로를 설명할 수 있는가?
- SSL 종료 위치가 명확한가?
- 프록시 헤더가 내부 애플리케이션으로 전달되는가?
- 방화벽에서 내부 포트가 불필요하게 공개되어 있지 않은가?
- 포트 충돌 시 대체 포트를 설정으로 바꿀 수 있는가?