Amazon Cloudfront에 액세스하려고 할 때 PHP에서 cURL을 사용하여 이상한 시간 초과가 발생합니다. 이것은 배포 요청을 만드는 모든 무효 요청에 영향을 미치는 것 같습니다. cURL은 0 바이트 또는 매우 적은 바이트 수를보고 한 다음 시간 초과를보고합니다 : Operation timed out after 120000 milliseconds with 88 out of 619 bytes received
.PHP cURL 및 SSL로 이상한 시간 초과
시간 초과 설정을 확장해도 차이가없는 것처럼 보입니다.
* About to connect() to cloudfront.amazonaws.com port 443 (#0)
* Trying 72.21.215.67... * connected
* Connected to cloudfront.amazonaws.com (72.21.215.67) port 443 (#0)
* skipping SSL peer certificate verification
* SSL connection using SSL_RSA_WITH_RC4_128_MD5
* Server certificate:
* subject: CN=cloudfront.amazonaws.com,O=Amazon.com Inc.,L=Seattle,ST=Washington,C=US
* start date: Jul 30 00:00:00 2010 GMT
* expire date: Jul 29 23:59:59 2013 GMT
* common name: cloudfront.amazonaws.com
* issuer: CN=VeriSign Class 3 Secure Server CA - G2,OU=Terms of use at https://www.verisign.com/rpa (c)09,OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
> POST /2010-11-01/distribution/E1CIM4A92QFD98/invalidation HTTP/1.1
User-Agent: S3/php
Accept: */*
Host: cloudfront.amazonaws.com
Date: Wed, 07 Mar 2012 14:31:58 GMT
Content-Type: application/xml
Authorization: AWS ************************
Content-Length: 200
< HTTP/1.1 201 Created
< x-amzn-RequestId: 4c2d0d3f-6862-11e1-ac27-5531ac8c967f
< Location: https://cloudfront.amazonaws.com/2010-11-01/distribution/E1CIM4A92QFD98/invalidation/I35KLNROKA40FU
* Operation timed out after 120000 milliseconds with 0 bytes received
* Closing connection #0
이 this question과 비슷한 것 같다 CURLOPT_VERBOSE
를 사용하여 추적을 퍼팅
이 출력을 생성합니다. 그러나 필자의 경우 curl은 실제로 응답을 얻었지만 어떻게 든 그것을 무시하고 시간 초과되는 것처럼 보입니다. 내가보기에 응답이 수신되었고 (201 Created
...), SSL 오류가 없습니다. 그렇다면 컬 타임 아웃은 왜 발생합니까 ??
컬 버전 정보를 당신이 당신의 컬 세션을 설정하는 방법이보고 도움이 될
[version_number] => 463623
[age] => 3
[features] => 1597
[ssl_version_number] => 0
[version] => 7.19.7
[host] => x86_64-unknown-linux-gnu
[ssl_version] => NSS/3.12.7.0
[libz_version] => 1.2.3
[protocols] => Array ([0] => tftp [1] => ftp [2] => telnet [3] => dict [4] => ldap [5] => ldaps [6] => http [7] => file [8] => https [9] => ftps [10] => scp [11] => sftp)
그것은'Content-Type : application/xml'과'Content-Length : 200'을 말하고 나서 '0 bytes received ... '는 ** 응답 헤더 **가 도착한 것으로 보이지만이 200 바이트 XML은 아닙니다. ** 응답 본문 **. –
테스트를 수행하고 어떤 일이 발생하는지보기 위해 방화벽을 비활성화하십시오. –
감사합니다. @ J. 브루니. 나는'Content-Length' 헤더가 요청에 대한 것이고, 더 자세히 살펴보면 Location 헤더와 함께 서버 ('HTTP/1.1 201 Created')로부터의 응답이있다. 'with 0 bytes received '는 정확히 문제입니다. 몇 바이트를 받았지만 말려 넘기거나 시간 초과되었습니다 ... 방화벽이 없습니다 – gingerlime