SSL 연결을 프록시하는 프록시 서버를 작성하고 있으며 정상적인 트래픽에 대해서는 모두 정상적으로 작동합니다. 그러나 전자 메일 첨부 파일과 같이 큰 파일 전송 (20KB 이상의 모든 것)이 있으면 파일 작성이 완료되기 전에 TCP 수준에서 연결이 재설정됩니다. 난 비 차단 입출력을 사용하고 각 특정 연결에 대한 스레드를 산란 오전. SSL 연결 조기 종단 처리 방법
연결이 다음 작업을 수행 할로 제공
:- 스폰 스레드 클라이언트에
- 연결 (암호화되지 않은) 및 연결 요청 (다른 모든 요청은 무시됩니다)
- 만들기를 읽고 서버에 연결 보안 (openssl api를 사용하는 SSL)
- 클라이언트에게 우리가 서버에 연락했음을 알리기 (암호화되지 않음)
- 클라이언트에 보안 연결을 생성하고 두 개는 select 루프를 사용하여 읽기 및 쓰기가 발생할 때를 결정합니다.
- 기본 소켓이 닫히거나 오류가 발생하면 연결이 닫히고 스레드가 종료됩니다.
나는 정상적인 크기의 데이터 (일반 웹 페이지 및 기타 사항)에 적합하지만 파일이 너무 커서 오류 코드 (사용되는 webapp에 따라 다름) 또는 오류 : 연결이 중단되었습니다.
TCP, HTTP 또는 SSL과 관련하여 무엇이 연결을 닫는 지 전혀 알지 못합니다. 정보를 찾을 수 없습니다. 일부 브라우저에서는 SSL_write 직후 절전 명령문을 넣으면 작동하지만 다른 브라우저에서는 다른 문제가있는 것으로 보입니다. 수면은 길지 않아도되고, 실제로는 지연 될 수 있습니다. 현재 쓰기 당 4ms, 읽기 당 2ms로 설정되어 있으며 이전 Firefox, HTTP 업로드가있는 Chrome 및 오페라에서 완전히 수정되었습니다.
모든 리드가 도움이 될 것이며 더 자세한 정보가 필요하면 알려 주시기 바랍니다. 고마워요!
- 샘
문제를 설명하기 위해 몇 가지 코드를 게시해야한다고 생각합니다. – caf