Google App Engine을 사용할 때 유효하지 않거나 누락 된 SSL 인증서
업데이트 : 누구든지 도울 수 있다면 Google은 버그 추적 도구 에서이 문제의 입력과 예를 기다리고 있습니다. 이 문제에 대해 재현 가능한 단계가있는 경우 https://code.google.com/p/googleappengine/issues/detail?id=10937 에서 공유 하세요.
Google App Engine 백엔드를 사용하여 StackExchange API에서 데이터를 가져 오려고합니다. 아시다시피 StackExchange의 일부 API는 사이트별로 다르므로 개발자는 사용자가 등록 된 모든 사이트에 대해 쿼리를 실행해야합니다.
여기에 이러한 사이트에서 타임 라인 데이터를 가져 오는 백엔드 코드가 있습니다. feed_info_site
변수 StackExchange 사이트 이름을 (예를 들면 유지 'security'
, 'serverfault'
등).
data = json.loads(urllib.urlopen("%sme/timeline?%s" %
(self.API_BASE_URL, urllib.urlencode({"pagesize": 100,
"fromdate": se_since_timestamp, "filter": "!9WWBR
(nmw", "site": feed_info_site, "access_token":
decrypt(self.API_ACCESS_TOKEN_SECRET, self.access_token), "key":
self.API_APP_KEY}))).read())
for item in data['items']:
... # code for parsing timeline items
Stack Overflow를 제외한 모든 사이트에서이 쿼리를 실행하면 모든 것이 정상적으로 작동합니다. 이상한 점은 feed_info_site
변수가로 설정되면 'stackoverflow'
Google App Engine에서 다음 오류가 발생한다는 것입니다.
HTTPException: Invalid and/or missing SSL certificate for URL:
https://api.stackexchange.com/2.2/me/timeline?
filter=%219WWBR%28nmw&access_token=
<ACCESS_TOKEN_REMOVED>&fromdate=1&pagesize=100&key=
<API_KEY_REMOVED>&site=stackoverflow
물론 Safari에서 동일한 쿼리를 실행하면 API에서 기대하는 JSON 결과를 얻습니다. 따라서 문제는 실제로 Google의 URLfetch 서비스에 있습니다. 유사한 HTTPS / SSL 예외와 관련된 Stack Overflow에서 몇 가지 주제를 찾았지만 허용되는 답변이 내 문제를 해결하지 못했습니다. cacerts.txt
파일 제거를 시도했습니다 . 나는 또한 validate_certificate=False
성공하지 못한 채로 전화를 걸어 보았습니다 .
문제가 HTTPS / SSL과 엄격하게 관련이 없다고 생각합니다. 그렇다면 단일 API 매개 변수를 변경하면 요청이 실패한다는 것을 어떻게 설명 하시겠습니까?
- 앱 엔진에 대한 다음 업데이트 (곧 업데이트 예정)를 기다린 다음 업데이트합니다.
- browserid.org/verify를 다른 서비스로 바꿉니다 (verifier.loogin.persona.org/verify는 Mozilla에서 호스팅하는 좋은 서비스입니다).
- cacerts.txt가 존재하지 않는지 확인하십시오 (정렬 한 것처럼 보이지만 경우에만 :-))
- 다시 시도하십시오 행운을 빕니다! -브렌든
동일한 오류가 발생했습니다. Google에서 지금 앱 엔진을 업데이트했으며 오류가 해결되었습니다. 업데이트 된 문서를 확인하세요.
'developer tip' 카테고리의 다른 글
XCode 스토리 보드 병합 (0) | 2020.11.22 |
---|---|
Safari 7 응용 프로그램 캐시가 작동하지 않습니다. (0) | 2020.11.22 |
OpenCV undistortPoints 및 triangulatePoint가 이상한 결과 (스테레오)를 제공합니다. (0) | 2020.11.22 |
xperf WinDBG C # .NET 4.5.2 응용 프로그램-프로세스 덤프 이해 (0) | 2020.11.22 |
XE3에서 자동 업데이트로 라이브 바인딩 (XE2 에서처럼 Notify ()를 호출 할 필요 없음) (0) | 2020.11.22 |