이슈
apache 2.4.5X 버전에서 PHP Post 응답대기 현상
kakao-TAM
2023. 6. 13. 18:52
카카오 사용자 정보조회를 PHP curl로 POST 요청 시,
CURLOPT_POSTFIELDS를 함께 전달하지 않은 경우 서버 타임아웃 만큼 대기하다 호출완료 되는 증상이 있어 공유합니다.
1. 증상
PHP curl 로 API 호출 시, Expect : 100-continue 헤더를 보내주고 request body(CURLOPT_POSTFIELDS)를 전달하지 않아
서버 설정에 따라 서버 타임아웃 만큼 대기하다 호출완료 처리됨.
2. 해결 방법
curl_setopt($ch, CURLOPT_POSTFIELDS, array());
PHP curl 로 API 호출 시, 전달할 request body가 없더라도 CURLOPT_POSTFIELDS 전달
호출하는 클라이언트 측 서버에 따라 증상이 없는 경우도 있어서 서버 설정에 종속적일 것으로 추정되나 확인하지 못함.
3. 기타
apache 서버 2.4.48에서 2.4.51로 업데이트 후 에러가 발생한다는 apache bug report가 있으나 apache 측 답변 없음.
https://bz.apache.org/bugzilla/show_bug.cgi?id=65729
65729 – Request with the HTTP Header 'Expect: 100-continue' take over 20s response time in Apache 2.4.51
error log after set loglevel to 8 Details
bz.apache.org