curl check

agnusdei·2025년 7월 24일

CTF

목록 보기
50/185

✅ 1. 외부에서 HTTPS 접속 확인 (curl -vk)

curl -vk https://gitlab.test.team

설명:

  • -v: verbose 모드. 요청/응답 헤더 및 SSL 핸드셰이크 과정을 자세히 출력
  • -k: SSL 인증서 오류(예: self-signed) 무시하고 진행

정상 출력 예:

* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
< HTTP/2 302 
< location: https://gitlab.test.team/users/sign_in

302 리디렉션이나 200 OK 응답이 오면 일단 프록시는 정상 작동 중


✅ 2. 리디렉션 URL 확인 (curl -I)

curl -I https://gitlab.test.team

확인 포인트:

  • Location: 헤더가 https://gitlab.test.team/... 으로 되어 있는지 확인
    → 다른 주소(gitlab-workhorse, localhost, IP 등)이면 external_url` 설정 오류입니다.

✅ 3. GitLab 내부 설정 점검 (external_url)

docker exec -it gitlab grep external_url /etc/gitlab/gitlab.rb

정상 예:

external_url 'https://gitlab.test.team'

✅ 4. GitLab 컨테이너 헬스 상태 확인

docker inspect --format='{{json .State.Health}}' gitlab | jq

GitLab 이미지에 HEALTHCHECK 정의되어 있으면 정상/비정상 여부를 알려줍니다.


✅ 5. GitLab의 자체 헬스체크 API 확인

curl -s http://127.0.0.1:21880/-/health
  • 정상 출력 예:
{"status":"ok"}

위 명령은 GitLab 내부 HTTP(프록시 전) 기준입니다.
nginx 리버스 프록시를 통해서 확인하려면:

curl -k https://gitlab.test.team/-/health

✅ 6. GitLab 서비스 상태 확인 (컨테이너 내부)

docker exec -it gitlab gitlab-ctl status

모든 서비스가 run: ... 상태여야 정상입니다.


✅ 7. nginx 설정 문법 확인 및 reload

sudo nginx -t && sudo systemctl reload nginx

설정 문법 오류 없이 reload 되었는지 확인


🧠 팁: 웹 브라우저에서 확인 시

  • 브라우저 개발자 도구(F12) → 네트워크(Network) 탭 켜고
  • gitlab.test.team 접속 시 어떤 리디렉션 경로, 응답 코드가 오고 있는지 확인 가능

profile
DevSecOps, Pentest, Cloud(OpenStack), Develop, Data Engineering, AI-Agent

0개의 댓글