2017-05-27 99 views
1

我有部署在谷歌应用程序引擎(标准),如果我通过浏览器(任何)访问它这是工作的罚款Django应用程序的工作。但是,我无法在终端上使用curl或使用Postman应用程序进行任何测试。当我尝试运行卷曲时,它超时:邮差/卷曲未与谷歌应用程序引擎部署应用程序

curl --verbose -X GET "https://SERVER.appspot.com" 
Note: Unnecessary use of -X or --request, GET is already inferred. 
* Rebuilt URL to: https://SERVER.appspot.com/ 
* Trying x.x.x.x... 
* TCP_NODELAY set 
* Connected to SERVER.appspot.com (x.x.x.x) port 443 (#0) 
* Operation timed out after 300225 milliseconds with 0 out of 0 bytes received 
* Curl_http_done: called premature == 1 
* Closing connection 0 
curl: (28) Operation timed out after 300225 milliseconds with 0 out of 0 bytes received 

任何想法我做错了什么?相同的应用程序在本地运行良好,我可以运行Postman/curl。如果我尝试用http://代替https://相同(即卷曲或邮差),它工作得很好(但https://使用浏览器时的工作)。

什么,我需要做的就是它从终端工作?

+0

检查应用程序日志https://console.cloud.google.com/logs/viewer – Rei

+0

日志是空白的,就好像这些请求不通过使他们的方式 – strangetimes

回答

1

原来是一个SSL“信任”问题。需要为映射到App Engine实例的每个子域添加SSL支持。事实证明,如果你没有正确地做到这一点(在我的情况下,.crt包中缺少一个CA中间证书),你的浏览器可能会认为该网站是安全的,但curl/postman会失败 - 或者说超时没有告诉你很多。我能够在这里对我的子域进行一些测试:https://www.ssllabs.com/ssltest

它指出提供的CA证书是不完整的,并对它进行了评级B.修复此问题立即修复了卷曲和邮递员问题(并且我假设邮递员内部是使用curl?我离题了)。