랜딩페이지(mcp.daolfn.com)에서 사전예약 API 호출이 실패하는 원인 재현 명령어입니다. 브라우저는 크로스 오리진 JSON POST 전에 반드시 OPTIONS(preflight) 요청을 먼저 보내는데, 운영 서버가 이 OPTIONS만 응답 없이 차단하고 있습니다.
preflight가 응답 없이 끊기므로, 브라우저는 본 POST를 보내지 않고 실패 처리합니다. 이것이 웹에서 사전예약이 안 되는 직접 원인입니다.
curl -i -X OPTIONS 'https://api.daolsecurities.com/svc/api/v1/daol-mcp/pre-reservation' -H 'Origin: https://mcp.daolfn.com' -H 'Access-Control-Request-Method: POST' -H 'Access-Control-Request-Headers: content-type'
curl: (52) Empty reply from server — TLS 연결까지는 정상, OPTIONS 요청 직후 응답 없이 종료동일한 요청이 테스트 서버(tapi)에서는 통과하고, 운영 서버도 POST 자체는 CORS 헤더까지 정상 반환합니다. 즉 애플리케이션은 문제가 없고, OPTIONS만 앞단에서 막히고 있습니다.
curl -i -X OPTIONS 'https://tapi.daolsecurities.com/svc/api/v1/daol-mcp/pre-reservation' -H 'Origin: https://mcp.daolfn.com' -H 'Access-Control-Request-Method: POST' -H 'Access-Control-Request-Headers: content-type'
HTTP/1.1 200 OK + Access-Control-Allow-Origin: https://mcp.daolfn.com — 웹에서 tapi가 되는 이유curl -i -X POST 'https://api.daolsecurities.com/svc/api/v1/daol-mcp/pre-reservation' -H 'Origin: https://mcp.daolfn.com' -H 'Content-Type: application/json' -d '{}'
HTTP/1.1 400 {"code":"400","message":"Bad request (customerName is missing.)"} + Access-Control-Allow-Origin 정상 — 빈 body에 대한 정상 validation 응답 (Postman이 되는 이유)운영 서버의 POST 응답에는 이미 Access-Control-Allow-Methods: POST, GET, OPTIONS가 포함되어 있어 애플리케이션의 CORS 설정은 준비된 상태입니다. OPTIONS 요청만 앞단(WAF/웹서버 추정)에서 드롭되고 있습니다.
api.daolsecurities.com에서 OPTIONS 메서드가 테스트 서버(tapi)와 동일하게 애플리케이션까지 도달하도록 허용을 요청드립니다. 조치 후 위 1번 명령이 2번과 같이 200 + CORS 헤더를 반환하면 정상입니다.