>> Read No. 1491 article  
[cgi]premature end of headers error 원인들

등록 2001-07-26 03:57:00     조회 4
이름 infinity    

		cgi 사용시 premature end of headers error 원인
 참고:아파치 영문 faq에서 premature end of headers error 설명
http://apache.kr.net/doc/misc/FAQ.html#premature-script-headers  아파치 영문 faq의 에러 설명과 저의 경험
을 바탕으로 정리한 것입니다. 저는 c로 간단한 cgi를 만들다가 이 녀석에게 걸려서 며칠을 
보냈습니다. 신기한 에러인줄 알고 여기저기 질문을 올렸는데 답변을 얻지 못해서 여기저
기 뒤져 보니 해결책이 나오더군요. 역시 스스로 찾아볼 생각을 먼저 해야..
  1. error 설명
  이녀석은 말그대로 서버가 완전한 헤더 정보를 받지 못하거나, 헤더를
하나도 받지 못하는 경우 발생한다고 합니다.
  2. 원인과 해결
   2.1 cgi 파일 작동시 발생하는 에러 - cgi 파일을 적당히 변형시켜서 웹에
    서 돌리는 cgi로 만들지 말고 독립적인 프로그램으로 만들어 코솔상에서
    실행시켜 보아서 에러 메시지가 나오면 대부분의 경우 cgi로 실행시킬
    때 premature... 에러가 발생한다.
   2.2 버퍼에 의한 문제 - 특히 perl로 cgi 짤 때 자주 발생하는 것인데,
    cgi 파일에서 출력을 위한 외부 프로그램을 이용하는 경우, 버퍼가
    데이터를 보내지 않고 갖고 있어서 premature... 에러가 발생할 수
    있다. flush 시켜주어야 한다.(faq참고)
   2.3 리소스 문제 - 리소스가 부족해서 cgi가 돌아가다가 죽어버리는 경우
    premature... 에러가 발생할 수 있다. 아파치 설정 파일의 RLimitCPU,
    RLimitMEM를 조정하면 된다.(그런데 저의 httpd.conf에는 RLimitCPU,
    RLimitMEM 같은건 없더군요. 그냥 만들어서 쓰면 되나? 어쨌든 RLimitCPU
    , RLimitMEM 기본적으로 os의 설정을 따른다고 합니다.)
   2.4 suEXEC을 사용하는 경우 - 보안 때문에 suEXEC을 설치하신 경우
    premature...에러가 발생할 수 있다고 합니다.
  #저의 경험(c로 cgi만들기)
책보고 그대로 버튼을 누르면 post로 cgi파일을 불러서 아파치 환경 변수를
출력하는 것을 만들었는데, premature... 에러가 발생하고 웨페이지에는
Internal Server Error가 뜨더군요. 출력만 하는 간단한 cgi도 문제없고,
perl로 환경변수 출력하는 것도 문제가 없었는데 꼭 책보고 만든 예제에는
그 에러가 발생했습니다. 저는 suEXEC을 설치한 적도 없고, 아파치 설정도
문제없다고 생각했습니다. 그리고 oops.org 게시판을 보니 cgi 실행시 발생
하는 에러때문에 premature... 가 발생할 수 있다는 글을 보았습니다.
분명히 컴파일에는 아무런 문제가 없었는데.. 그래서 그냥 환경변수만 출력
하는 cgi를 만들었는데 제대로 되더군요. 책보고 따라한 소스에 문제가
있었던 것입니다. 오래된 책이어서 그런건가.
 
 쓴 글을 다시 읽어보니 faq를 정리한 수준이네요.
이름
암호
  목록보기 윗글 아랫글
글쓰기
답장쓰기 수정 삭제
정규표현식 [ 상세 검색 ]
페이지로딩: [ 0.49 초 ] 작업시간: [ 0.08 초 ]

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved
[TOP]

적수네 동네
+
| 적수네 동네
| 공부방
| 리눅스 잡지 서고
| LSN 소스
| 링크 모음
+---+
게시판
+
| 떠들어보세!
| 질문과 답변
| 새소식과 정보
| 1원짜리 팁?
| 대화방
+---+
칼럼?
+
| 세하 훔쳐보기
| Welcome2nite
| 혜진의 염장판
+---+
리눅스 상표권
+
| 반대 서명란
| 토론 게시판
+---+
GNU
+
| GNU 선언문
| GNU GPL
| GNU 미러 목록
+---+
프로젝트?
+
| 리눅스카운터
| RC5DES
| 실질헌법 제작
+---+
커널 소식
+
| 안정 버젼: 2.4.14
+---+
테마 선택
+
LSN 방송국?
+
| OFF AIR
+---+
회원
+
| 로그인
+---+
[ 적수네 동네 ] [ 리눅스 상표권 독점 반대 ] [ 한글 리눅스 문서 프로젝트 ] [ KrLine ] [ 사랑넷 ] [ Valid HTML 4.0! ] [ SlashDot ] [ Freshmeat ]
Copyleft (C) 1998-2001 Byeong-Chan Kim . License
TIME: 1791048346
System by WYZsoft, HDD by I.O.Linux, Mizi Research, Embryo, WOWLINUX, Domain by SarangNet, Network by KrLine.