문제

Apache 위에 mod_wsgi 응용 프로그램을 배포하고 있으며 Curl을 사용하는 클라이언트 프로그램이 있습니다.

사용자 측의 CURL API에서는 연결 재사용을 시도하지만 Wireshark의 연결을 살펴보면 모든 HTTP 요청/응답에 대해 새로운 연결이 이루어진다는 것을 알 수 있습니다.

모든 HTTP 요청이 끝나면 HTTP 응답 헤더에는 "연결 : Close"가 있습니다.

이것은 Keep-Alive와 동일합니까? 연결 재사용을 활성화하려면 Apache/Mod_wsgi 측에서 무엇을해야합니까?

도움이 되었습니까?

해결책

일반적으로 Alive Connections에 대한 지원은 일반적으로 기본적으로 켜져 있기 때문에 일반적으로 Apache에 아무것도 할 필요는 없습니다. Apache Configuration의 KeepAlive 지시문을보고 설정 한 내용을 해결하십시오.

게다가, 계속 유지하려면 WSGI 애플리케이션은 응답에서 컨텐츠 길이를 설정하거나 목록에 단일 문자열 만 포함 된 응답 목록을 반환해야합니다. 후자의 경우 mod_wsgi는 응답의 컨텐츠 길이를 자동으로 추가합니다. 대부분의 오류 응답으로 인해 연결이 닫히기 때문에 응답은 일반적으로 성공적인 응답이어야합니다.

이 모든 것을 수행하더라도 문제는 CURL이 여러 URL을 가져 오는 능력이 유지를 유지하는 것도 계속 사용하는지 여부입니다. 분명히 CURL의 별도의 호출은 할 수 없을 것입니다. 따라서이 질문을하면 CURL의 기능을 사용하려고한다고 제안합니다. Libcurl에 링크 된 사용자 정의 클라이언트를 사용하고 라이브러리를 사용하는 경우 Libcurl을 의미하는 다른 옵션 만 있습니다.

Apache에 대한 액세스가 프록시를 통해 이루어지면 프록시가 구현되지 않을 수 있으므로 전체 메커니즘이 작동하는 것을 막을 수 있습니다.

더 많은 정보를 제공하려면 컬을 사용하는 방법에 대해 알아야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top