Home > front end >  Apache Openssl mod - wsgi transfer large data stuck can't read it out
Apache Openssl mod - wsgi transfer large data stuck can't read it out

Time:10-03

Recently set up an Apache + openssl + mod - wsgi environment to realize the HTTPS communications, but met a very odd question, how also not solve, hope that they can help solve, Daniel
Questions as follows:
HTTP communication environment to build, completely normal, no matter how the client post packet server can receive, but HTTPS communication do a bit of a problem,
When the HTTPS communication, if the client and the server are the unit, regardless of the amount of packets post is also no problem, but when the client other machines in a network, the post dozens of little packets of hundreds of K, no problem, but the post big packets (5 m, 6 m or so), the server to normal after receiving two or three times, the program will be stuck, verify (post parameter=false)
Stuck position is the statement: "the body=environ [' wsgi. Input"] read (length) "
Program has been blocked until the connection timeout here, occasionally can sometimes after a long wait before the connection timeout normal read out,
Client and the server calculation shows the "length" is also correct,
Program stuck this way, in fact is equal to "sys. Stdin. Buffer. Read (length)",
The read operation is a blocking operation, must be read to the specified length will be released,
But why read big HTTPS communication packets get stuck and HTTP is not the problem?
Where is the root of the problem? Is in the process of the HTTPS transport packet loss? Or a data card in which link can't arrived in normal position? Who is Daniel can help give directions to solve?
  • Related