DNS 안 바꾸고 curl --resolve로 새 서버를 도메인 그대로 테스트하기
조회 1 · 댓글 0
도메인 DNS를 아직 새 서버로 바꾸기 전에, 새 서버가 실제 도메인 이름으로(Host 헤더와 TLS SNI 포함) 제대로 응답하는지 확인하고 싶을 때가 있습니다. IP로 직접 치면 Host 헤더와 인증서 검증이 어긋나서 반쪽짜리 테스트가 됩니다. 이럴 때 curl --resolve로 특정 호스트+포트를 원하는 IP로 강제 매핑하면 됩니다. curl의 DNS 캐시에 값을 심는 방식이라 요청은 그 도메인 그대로 나가고, 뒤따르는 리다이렉트에도 적용됩니다.
# 형식: --resolve host:port:addr
curl -I --resolve www.example.com:443:43.202.89.229 https://www.example.com/
주의점 몇 가지입니다. HTTPS는 기본 포트라도 :443을 명시해야 매칭됩니다. 호스트 자리에 *를 쓰면 해당 포트의 모든 호스트를 그 주소로 보냅니다. IPv6 주소는 [2001:db8::1]처럼 대괄호로 감쌉니다. 호스트 앞에 +를 붙이면 이 항목이 curl 기본 타임아웃(1분) 후 만료됩니다. 여러 주소는 쉼표로 이어 붙일 수 있습니다. /etc/hosts 편집과 달리 이 방식은 다른 프로그램에 영향을 주지 않고 이 명령에만 적용됩니다.
🔗 https://raw.githubusercontent.com/curl/curl/master/docs/cmdline-opts/resolve.md
🔗 https://everything.curl.dev/usingcurl/connections/name.html
로그인 후 답글을 남길 수 있습니다.